strings.Contains and ContainsAnyUse the Contains and ContainsAny funcs in the strings package to find substrings in strings.
Contains. Is one string contained in another? With Contains we search one string for a certain substring. We see if the string is found.
With other funcs like ContainsAny we search for characters. If any of a set of characters is found in the string, ContainsAny will return true.
First example. We have a string that contains "this is a test." The word "test" is found in the string. When we invoke Contains and search for "test," we receive true.
However If we try to find "python," the Contains func returns false—this causes the program to print 2.
package main import ( "fmt" "strings" ) func main() { value1 := "test" value2 := "python" source := "this is a test" // This succeeds. // ... The substring is contained in the source string. if strings.Contains(source, value1) { fmt.Println(1) } // Contains returns false here. if !strings.Contains(source, value2) { fmt.Println(2) } }
1 2
ContainsAny. This method is different from Contains—it searches for characters. If any of the values in the second string argument to ContainsAny are found, it returns true.
Detail The second argument to ContainsAny is a set of values—just one has to be found for the method to return true.
package main import ( "fmt" "strings" ) func main() { source := "12345" // See if 1, 3 or 5 are in the string. if strings.ContainsAny(source, "135") { fmt.Println("A") } // See if any of these 3 chars are in the string. if strings.ContainsAny(source, "543") { fmt.Println("B") } // The string does not contain a question mark. if !strings.ContainsAny(source, "?") { fmt.Println("C") } }
A review. Contains() is clearer than Index() when we just need to test existence. We can test against true and false, not the magical value -1 that Index() returns to mean "not found."
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
No updates found for this page.
© 2007-2023 Sam Allen.