String processing and regular expressions in Go language
Go language is a strongly typed language, in which string is a commonly used data type. In the process of program development, string processing is a very important part. This article will introduce the basic operations of string processing and the use of regular expressions in the Go language.
1. String processing
The string type of Go language is an immutable byte sequence, that is, once created, its value cannot be modified. Strings can be represented using double quotes or backticks. Escape sequences can be used in double-quoted strings, such as
to represent a newline character. Backtick strings can contain any characters, including multiline text and escape characters.
Operators can be used in Go language to connect two strings, for example:
str1 := "Hello" str2 := "world" str3 := str1 + " " + str2 fmt.Println(str3) // output: Hello world
You can use the Split() function in the strings package to split a string. For example:
str := "Hello world" arr := strings.Split(str, " ") fmt.Println(arr) // output: [Hello world]
You can use the Replace() function in the strings package to replace strings. For example:
str := "Hello world" newStr := strings.Replace(str, "world", "Go", 1) fmt.Println(newStr) // output: Hello Go
You can use the Index() or Contains() function in the strings package to find strings. For example:
str := "Hello world" index := strings.Index(str, "world") fmt.Println(index) // output: 6 isContains := strings.Contains(str, "Hello") fmt.Println(isContains) // output: true
You can use the ToUpper() and ToLower() functions in the strings package to convert the case of a string. For example:
str := "Hello WORLD" newStr1 := strings.ToUpper(str) newStr2 := strings.ToLower(str) fmt.Println(newStr1) // output: HELLO WORLD fmt.Println(newStr2) // output: hello world
2. Regular expressions
Regular expressions are a tool used to describe strings and can determine whether a string matches a certain pattern. The Go language has a built-in regexp package that can use regular expressions to match and manipulate strings.
package main import ( "fmt" "regexp" ) func main() { str1 := "abc123" str2 := "Hello world" pattern1 := `d+` pattern2 := `wo..d` isMatch1, _ := regexp.MatchString(pattern1, str1) isMatch2, _ := regexp.MatchString(pattern2, str2) fmt.Println(isMatch1) // output: true fmt.Println(isMatch2) // output: true re := regexp.MustCompile(pattern1) match1 := re.FindString(str1) fmt.Println(match1) // output: 123 matchAll1 := re.FindAllString(str1, -1) fmt.Println(matchAll1) // output: [123] repl := re.ReplaceAllString(str1, "456") fmt.Println(repl) // output: abc456 re2 := regexp.MustCompile(pattern2) match2 := re2.FindString(str2) fmt.Println(match2) // output: world }
The above is the detailed content of String processing and regular expressions in Go language. For more information, please follow other related articles on the PHP Chinese website!