// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // // // // // Creation Date: September 15, 1997 // // // // // // string substituteAllString(string $text, string $searchStr, string $replaceStr) // // // Substitute every occurrence of a single character string in a // text string by a new string of any length. // // // string $text - Original string to be modified. // string $searchStr - Single character string to replace. // string $replaceStr - String that will be added in. // // // string: The new text string with the replacement strings in it. // // // string $text = "one + two + three + four"; // string $result = substituteAllString($text, "+", "plus"); // print $result; // // // global proc string substituteAllString( string $text, string $searchStr, string $replaceStr ) { string $totalText = ""; int $stringLen = `size $text`; int $searchStringLen = `size $searchStr`; if ($searchStringLen == 0) { return $text; } string $subStr; int $i, $nextIndex; for ( $i = 1; $i <= $stringLen; $i++ ) { // get the subtring from the text starting at the current index and // that is the same length as the search string // $nextIndex = $i + $searchStringLen - 1; $subStr = `substring $text $i $nextIndex`; if ( $subStr == $searchStr ) { // replace found string in the text string // $totalText = $totalText + $replaceStr; $i += $searchStringLen - 1; // Skip the rest of the pattern } else { // keep the substring in the text string // $totalText = $totalText + `substring $subStr 1 1`; } } return $totalText; }