mirror of
https://github.com/golang/go
synced 2024-11-21 21:54:40 -07:00
strings: add strings helpers for prefixes and suffixes
Signed-off-by: guoguangwu <guoguangwug@gmail.com>
This commit is contained in:
parent
69583738eb
commit
1174efb5d6
@ -172,6 +172,15 @@ func ExampleHasPrefix() {
|
|||||||
// true
|
// true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleHasAnyOfPrefixes() {
|
||||||
|
fmt.Println(strings.HasAnyOfPrefixes("Gopher", "Go", "pher"))
|
||||||
|
fmt.Println(strings.HasAnyOfPrefixes("Gopher", "C", "D"))
|
||||||
|
fmt.Println(strings.HasAnyOfPrefixes("Gopher", ""))
|
||||||
|
// Output:
|
||||||
|
// true
|
||||||
|
// false
|
||||||
|
// true
|
||||||
|
}
|
||||||
func ExampleHasSuffix() {
|
func ExampleHasSuffix() {
|
||||||
fmt.Println(strings.HasSuffix("Amigo", "go"))
|
fmt.Println(strings.HasSuffix("Amigo", "go"))
|
||||||
fmt.Println(strings.HasSuffix("Amigo", "O"))
|
fmt.Println(strings.HasSuffix("Amigo", "O"))
|
||||||
@ -184,6 +193,17 @@ func ExampleHasSuffix() {
|
|||||||
// true
|
// true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ExampleHasAnyOfSuffixes() {
|
||||||
|
fmt.Println(strings.HasAnyOfSuffixes("Amigo", "go", "Am"))
|
||||||
|
fmt.Println(strings.HasAnyOfSuffixes("Amigo", "O", "p"))
|
||||||
|
fmt.Println(strings.HasAnyOfSuffixes("Amigo", "Ami", "Am"))
|
||||||
|
fmt.Println(strings.HasAnyOfSuffixes("Amigo", ""))
|
||||||
|
// Output:
|
||||||
|
// true
|
||||||
|
// false
|
||||||
|
// false
|
||||||
|
// true
|
||||||
|
}
|
||||||
func ExampleIndex() {
|
func ExampleIndex() {
|
||||||
fmt.Println(strings.Index("chicken", "ken"))
|
fmt.Println(strings.Index("chicken", "ken"))
|
||||||
fmt.Println(strings.Index("chicken", "dmr"))
|
fmt.Println(strings.Index("chicken", "dmr"))
|
||||||
|
@ -468,6 +468,28 @@ func HasSuffix(s, suffix string) bool {
|
|||||||
return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix
|
return len(s) >= len(suffix) && s[len(s)-len(suffix):] == suffix
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HasAnyOfSuffixes returns true if the given string has any of the given suffixes.
|
||||||
|
func HasAnyOfSuffixes(input string, suffixes ...string) bool {
|
||||||
|
for _, suffix := range suffixes {
|
||||||
|
if HasSuffix(input, suffix) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasAnyOfPrefixes returns true if the given string has any of the given prefixes.
|
||||||
|
func HasAnyOfPrefixes(input string, prefixes ...string) bool {
|
||||||
|
for _, prefix := range prefixes {
|
||||||
|
if HasPrefix(input, prefix) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Map returns a copy of the string s with all its characters modified
|
// Map returns a copy of the string s with all its characters modified
|
||||||
// according to the mapping function. If mapping returns a negative value, the character is
|
// according to the mapping function. If mapping returns a negative value, the character is
|
||||||
// dropped from the string with no replacement.
|
// dropped from the string with no replacement.
|
||||||
|
Loading…
Reference in New Issue
Block a user