![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Go) Regular Expression Replace Full MatchesSee more Regular Expressions ExamplesDemonstrates replacing the full matches of a regular expression.Note: Chilkat uses Note: This example requires Chilkat v11.1.0 or greater.
success := false success = false subject := "John Anders, +_+_+ Mary Robins $$$$" pattern := "\\w+\\s+\\w+" sb := StringBuilder_Ref.html">chilkat.NewStringBuilder() sb.Append(subject) json := JsonObject_Ref.html">chilkat.NewJsonObject() json.SetEmitCompact(false) timeoutMs := 2000 numMatches := sb.RegexMatch(pattern,json,timeoutMs) if numMatches < 0 { // Probably an error in the regular expression. // Suggestion: Use AI to help create and/or diagnose regular expressions. fmt.Println(sb.LastErrorText()) sb.DisposeStringBuilder() json.DisposeJsonObject() return } // Examine the matches: fmt.Println(*json.Emit()) // { // "match": [ // { // "group": [ // { // "cap": "John Anders", // "idx": 0, // "len": 11 // } // ] // }, // { // "group": [ // { // "cap": "Mary Robins", // "idx": 19, // "len": 11 // } // ] // } // ] // } sbTemp := StringBuilder_Ref.html">chilkat.NewStringBuilder() i := 0 numMatches = json.SizeOfArray("match") for i < numMatches { json.SetI(i) // The full match is always in group 0. sbTemp.Clear() json.StringOfSb("match[i].group[0].cap",sbTemp) // Indicate that we wish to replace the full match with it's value converted to uppercase. sbTemp.ToUppercase() json.UpdateSb("match[i].group[0].rep",sbTemp) i = i + 1 } // The JSON now has replacement strings: fmt.Println(*json.Emit()) // { // "match": [ // { // "group": [ // { // "cap": "John Anders", // "idx": 0, // "len": 11, // "rep": "JOHN ANDERS" // } // ] // }, // { // "group": [ // { // "cap": "Mary Robins", // "idx": 19, // "len": 11, // "rep": "MARY ROBINS" // } // ] // } // ] // } // Call RegexReplace to update the StringBuilder_Ref.html">StringBuilder with the replacements. success = sb.RegexReplace(json) if success == false { fmt.Println(sb.LastErrorText()) sb.DisposeStringBuilder() json.DisposeJsonObject() sbTemp.DisposeStringBuilder() return } fmt.Println("Result after doing replacements:") fmt.Println(*sb.GetAsString()) // Result after doing replacements: // JOHN ANDERS, +_+_+ MARY ROBINS $$$$ sb.DisposeStringBuilder() json.DisposeJsonObject() sbTemp.DisposeStringBuilder() |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.