4D v16.3

Replace string

Home

 
4D v16.3
Replace string

Replace string 


 

Replace string ( source ; oldString ; newString {; howMany}{; *} ) -> Function result 
Parameter Type   Description
source  String in Original string
oldString  String in Characters to replace
newString  String in Replacement string (if empty string, occurrences are deleted)
howMany  Longint in How many times to replace If omitted, all occurrences are replaced
Operator in If passed: evaluation based on character codes
Function result  String in Resulting string

Replace string replaces howMany occurrences of oldString in source with newString.

If newString is an empty string (""), Replace string deletes each occurrence of oldString in source.

If howMany is specified, Replace stringwill replace only the number of occurrences of oldString specified, starting at the first character of source. If howMany is not specified, then all occurrences of oldString are replaced.

If oldString is an empty string, Replace string returns the unchanged source.

By default, the command makes global comparisons that take linguistic particularities and letters that may be written with one or more characters (for example æ = ae) into account. On the other hand, it is not diacritical (a=A, a=à and so on) and does not take "ignorable" characters such as characters whose code < 9 into account (Unicode specification).

To modify this functioning, pass the asterisk * as the last parameter. In this case, comparisons will be based on character codes. You must pass the * parameter:

  • If you want to replace special characters, used for example as delimiters (Char(1), etc.),
  • If the replacement of characters must be case sensitive and take accented characters into account (a#A, a#à and so on).
    Note that in this mode, the evaluation does not handle variations in the way words are written.

Note: In 4D v15 R3 and higher, a significant optimization was made to the algorithm used by this command when you replace a string by another of a different length, regardless of the syntax used. This results in a considerable acceleration of processing in this context. 

The following example illustrates the use of Replace string. The results, described in the comments, are assigned to the variable vtResult.

 vtResult:=Replace string("Willow";" ll";"d") ` Result gets "Widow"
 vtResult:=Replace string("Shout";"o";"") ` Result gets "Shut"
 vtResult:=Replace string(vtOtherVar;Char(Tab);",";*) ` Replaces all tabs in vtOtherVar with commas

The following example eliminates CRs and TABs from the text in vtResult:

 vtResult:=Replace string(Replace string(vtResult;Char(Carriage return);"";*);Char(Tab);"";*)

The following example illustrates the use of the * parameter in the case of a diacritical evaluation:

 vtResult:=Replace string("Crème brûlée";"Brulee";"caramel") `Result gets "Crème caramel"
 vtResult:=Replace string("Crème brûlée";"Brulee";"caramel";*) `Result gets "Crème brûlée"



See also 

Change string
Delete string
Insert string

 
PROPERTIES 

Product: 4D
Theme: String
Number: 233

This command can be run in preemptive processesThe Unicode mode affects this command

 
HISTORY 

Modified: 4D v11 SQL Release 1
Modified: 4D v15 R3

 
ARTICLE USAGE

4D Language Reference ( 4D v16)
4D Language Reference ( 4D v16.1)
4D Language Reference ( 4D v16.2)
4D Language Reference ( 4D v16.3)