Package strings
Overview ?
Overview ?
Package strings implements simple functions to manipulate strings.
Index
- func Contains(s, substr string) bool
- func ContainsAny(s, chars string) bool
- func ContainsRune(s string, r rune) bool
- func Count(s, sep string) int
- func EqualFold(s, t string) bool
- func Fields(s string) []string
- func FieldsFunc(s string, f func(rune) bool) []string
- func HasPrefix(s, prefix string) bool
- func HasSuffix(s, suffix string) bool
- func Index(s, sep string) int
- func IndexAny(s, chars string) int
- func IndexFunc(s string, f func(rune) bool) int
- func IndexRune(s string, r rune) int
- func Join(a []string, sep string) string
- func LastIndex(s, sep string) int
- func LastIndexAny(s, chars string) int
- func LastIndexFunc(s string, f func(rune) bool) int
- func Map(mapping func(rune) rune, s string) string
- func Repeat(s string, count int) string
- func Replace(s, old, new string, n int) string
- func Split(s, sep string) []string
- func SplitAfter(s, sep string) []string
- func SplitAfterN(s, sep string, n int) []string
- func SplitN(s, sep string, n int) []string
- func Title(s string) string
- func ToLower(s string) string
- func ToLowerSpecial(_case unicode.SpecialCase, s string) string
- func ToTitle(s string) string
- func ToTitleSpecial(_case unicode.SpecialCase, s string) string
- func ToUpper(s string) string
- func ToUpperSpecial(_case unicode.SpecialCase, s string) string
- func Trim(s string, cutset string) string
- func TrimFunc(s string, f func(rune) bool) string
- func TrimLeft(s string, cutset string) string
- func TrimLeftFunc(s string, f func(rune) bool) string
- func TrimRight(s string, cutset string) string
- func TrimRightFunc(s string, f func(rune) bool) string
- func TrimSpace(s string) string
- type Reader
- func NewReader(s string) *Reader
- func (r *Reader) Len() int
- func (r *Reader) Read(b []byte) (n int, err error)
- func (r *Reader) ReadAt(b []byte, off int64) (n int, err error)
- func (r *Reader) ReadByte() (b byte, err error)
- func (r *Reader) ReadRune() (ch rune, size int, err error)
- func (r *Reader) Seek(offset int64, whence int) (int64, error)
- func (r *Reader) UnreadByte() error
- func (r *Reader) UnreadRune() error
- type Replacer
- func NewReplacer(oldnew ...string) *Replacer
- func (r *Replacer) Replace(s string) string
- func (r *Replacer) WriteString(w io.Writer, s string) (n int, err error)
- Bugs
Examples
- Contains
- ContainsAny
- Count
- EqualFold
- Fields
- Index
- IndexRune
- Join
- LastIndex
- Map
- NewReplacer
- Repeat
- Replace
- Split
- SplitAfter
- SplitAfterN
- SplitN
- Title
- ToLower
- ToTitle
- ToUpper
- Trim
- TrimSpace
Package files
reader.go replace.go strings.go
func Contains
func Contains(s, substr string) bool
Contains returns true if substr is within s.
? Example
? Example
Code:
fmt.Println(strings.Contains("seafood", "foo")) fmt.Println(strings.Contains("seafood", "bar")) fmt.Println(strings.Contains("seafood", "")) fmt.Println(strings.Contains("", ""))
Output:
true false true true
func ContainsAny
func ContainsAny(s, chars string) bool
ContainsAny returns true if any Unicode code points in chars are within s.
? Example
? Example
Code:
fmt.Println(strings.ContainsAny("team", "i")) fmt.Println(strings.ContainsAny("failure", "u & i")) fmt.Println(strings.ContainsAny("foo", "")) fmt.Println(strings.ContainsAny("", ""))
Output:
false true false false
func ContainsRune
func ContainsRune(s string, r rune) bool
ContainsRune returns true if the Unicode code point r is within s.
func Count
func Count(s, sep string) int
Count counts the number of non-overlapping instances of sep in s.
? Example
? Example
Code:
fmt.Println(strings.Count("cheese", "e"))
fmt.Println(strings.Count("five", "")) // before & after each rune
Output:
3 5
func EqualFold
func EqualFold(s, t string) bool
EqualFold reports whether s and t, interpreted as UTF-8 strings, are equal under Unicode case-folding.
? Example
? Example
Code:
fmt.Println(strings.EqualFold("Go", "go"))
Output:
true
func Fields
func Fields(s string) []string
Fields splits the string s around each instance of one or more consecutive white space characters, returning an array of substrings of s or an empty list if s contains only white space.
? Example
? Example
Code:
fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz "))
Output:
Fields are: ["foo" "bar" "baz"]
func FieldsFunc
func FieldsFunc(s string, f func(rune) bool) []string
FieldsFunc splits the string s at each run of Unicode code points c satisfying f(c) and returns an array of slices of s. If all code points in s satisfy f(c) or the string is empty, an empty slice is returned.
func HasPrefix
func HasPrefix(s, prefix string) bool
HasPrefix tests whether the string s begins with prefix.
func HasSuffix
func HasSuffix(s, suffix string) bool
HasSuffix tests whether the string s ends with suffix.
func Index
func Index(s, sep string) int
Index returns the index of the first instance of sep in s, or -1 if sep is not present in s.
? Example
? Example
Code:
fmt.Println(strings.Index("chicken", "ken")) fmt.Println(strings.Index("chicken", "dmr"))
Output:
4 -1
func IndexAny
func IndexAny(s, chars string) int
IndexAny returns the index of the first instance of any Unicode code point from chars in s, or -1 if no Unicode code point from chars is present in s.
func IndexFunc
func IndexFunc(s string, f func(rune) bool) int
IndexFunc returns the index into s of the first Unicode code point satisfying f(c), or -1 if none do.
func IndexRune
func IndexRune(s string, r rune) int
IndexRune returns the index of the first instance of the Unicode code point r, or -1 if rune is not present in s.
? Example
? Example
Code:
fmt.Println(strings.IndexRune("chicken", 'k')) fmt.Println(strings.IndexRune("chicken", 'd'))
Output:
4 -1
func Join
func Join(a []string, sep string) string
Join concatenates the elements of a to create a single string. The separator string sep is placed between elements in the resulting string.
? Example
? Example
Code:
s := []string{"foo", "bar", "baz"} fmt.Println(strings.Join(s, ", "))
Output:
foo, bar, baz
func LastIndex
func LastIndex(s, sep string) int
LastIndex returns the index of the last instance of sep in s, or -1 if sep is not present in s.
? Example
? Example
Code:
fmt.Println(strings.Index("go gopher", "go")) fmt.Println(strings.LastIndex("go gopher", "go")) fmt.Println(strings.LastIndex("go gopher", "rodent"))
Output:
0 3 -1
func LastIndexAny
func LastIndexAny(s, chars string) int
LastIndexAny returns the index of the last instance of any Unicode code point from chars in s, or -1 if no Unicode code point from chars is present in s.
func LastIndexFunc
func LastIndexFunc(s string, f func(rune) bool) int
LastIndexFunc returns the index into s of the last Unicode code point satisfying f(c), or -1 if none do.
func Map
func Map(mapping func(rune) rune, s string) string
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 dropped from the string with no replacement.
? Example
? Example
Code:
rot13 := func(r rune) rune { switch { case r >= 'A' && r <= 'Z': return 'A' + (r-'A'+13)%26 case r >= 'a' && r <= 'z': return 'a' + (r-'a'+13)%26 } return r } fmt.Println(strings.Map(rot13, "'Twas brillig and the slithy gopher..."))
Output:
'Gjnf oevyyvt naq gur fyvgul tbcure...
func Repeat
func Repeat(s string, count int) string
Repeat returns a new string consisting of count copies of the string s.
? Example
? Example
Code:
fmt.Println("ba" + strings.Repeat("na", 2))
Output:
banana
func Replace
func Replace(s, old, new string, n int) string
Replace returns a copy of the string s with the first n non-overlapping instances of old replaced by new. If n < 0, there is no limit on the number of replacements.
? Example
? Example
Code:
fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2)) fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1))
Output:
oinky oinky oink moo moo moo
func Split
func Split(s, sep string) []string
Split slices s into all substrings separated by sep and returns a slice of the substrings between those separators. If sep is empty, Split splits after each UTF-8 sequence. It is equivalent to SplitN with a count of -1.
? Example
? Example
Code:
fmt.Printf("%q\n", strings.Split("a,b,c", ",")) fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a ")) fmt.Printf("%q\n", strings.Split(" xyz ", "")) fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins"))
Output:
["a" "b" "c"] ["" "man " "plan " "canal panama"] [" " "x" "y" "z" " "] [""]
func SplitAfter
func SplitAfter(s, sep string) []string
SplitAfter slices s into all substrings after each instance of sep and returns a slice of those substrings. If sep is empty, SplitAfter splits after each UTF-8 sequence. It is equivalent to SplitAfterN with a count of -1.
? Example
? Example
Code:
fmt.Printf("%q\n", strings.SplitAfter("a,b,c", ","))
Output:
["a," "b," "c"]
func SplitAfterN
func SplitAfterN(s, sep string, n int) []string
SplitAfterN slices s into substrings after each instance of sep and returns a slice of those substrings. If sep is empty, SplitAfterN splits after each UTF-8 sequence. The count determines the number of substrings to return:
n > 0: at most n substrings; the last substring will be the unsplit remainder. n == 0: the result is nil (zero substrings) n < 0: all substrings
? Example
? Example
Code:
fmt.Printf("%q\n", strings.SplitAfterN("a,b,c", ",", 2))
Output:
["a," "b,c"]
func SplitN
func SplitN(s, sep string, n int) []string
SplitN slices s into substrings separated by sep and returns a slice of the substrings between those separators. If sep is empty, SplitN splits after each UTF-8 sequence. The count determines the number of substrings to return:
n > 0: at most n substrings; the last substring will be the unsplit remainder. n == 0: the result is nil (zero substrings) n < 0: all substrings
? Example
? Example
Code:
fmt.Printf("%q\n", strings.SplitN("a,b,c", ",", 2)) z := strings.SplitN("a,b,c", ",", 0) fmt.Printf("%q (nil = %v)\n", z, z == nil)
Output:
["a" "b,c"] [] (nil = true)
func Title
func Title(s string) string
Title returns a copy of the string s with all Unicode letters that begin words mapped to their title case.
? Example
? Example
Code:
fmt.Println(strings.Title("her royal highness"))
Output:
Her Royal Highness
func ToLower
func ToLower(s string) string
ToLower returns a copy of the string s with all Unicode letters mapped to their lower case.
? Example
? Example
Code:
fmt.Println(strings.ToLower("Gopher"))
Output:
gopher
func ToLowerSpecial
func ToLowerSpecial(_case unicode.SpecialCase, s string) string
ToLowerSpecial returns a copy of the string s with all Unicode letters mapped to their lower case, giving priority to the special casing rules.
func ToTitle
func ToTitle(s string) string
ToTitle returns a copy of the string s with all Unicode letters mapped to their title case.
? Example
? Example
Code:
fmt.Println(strings.ToTitle("loud noises")) fmt.Println(strings.ToTitle("ݧ֧"))
Output:
LOUD NOISES
func ToTitleSpecial
func ToTitleSpecial(_case unicode.SpecialCase, s string) string
ToTitleSpecial returns a copy of the string s with all Unicode letters mapped to their title case, giving priority to the special casing rules.
func ToUpper
func ToUpper(s string) string
ToUpper returns a copy of the string s with all Unicode letters mapped to their upper case.
? Example
? Example
Code:
fmt.Println(strings.ToUpper("Gopher"))
Output:
GOPHER
func ToUpperSpecial
func ToUpperSpecial(_case unicode.SpecialCase, s string) string
ToUpperSpecial returns a copy of the string s with all Unicode letters mapped to their upper case, giving priority to the special casing rules.
func Trim
func Trim(s string, cutset string) string
Trim returns a slice of the string s with all leading and trailing Unicode code points contained in cutset removed.
? Example
? Example
Code:
fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! "))
Output:
["Achtung"]
func TrimFunc
func TrimFunc(s string, f func(rune) bool) string
TrimFunc returns a slice of the string s with all leading and trailing Unicode code points c satisfying f(c) removed.
func TrimLeft
func TrimLeft(s string, cutset string) string
TrimLeft returns a slice of the string s with all leading Unicode code points contained in cutset removed.
func TrimLeftFunc
func TrimLeftFunc(s string, f func(rune) bool) string
TrimLeftFunc returns a slice of the string s with all leading Unicode code points c satisfying f(c) removed.
func TrimRight
func TrimRight(s string, cutset string) string
TrimRight returns a slice of the string s, with all trailing Unicode code points contained in cutset removed.
func TrimRightFunc
func TrimRightFunc(s string, f func(rune) bool) string
TrimRightFunc returns a slice of the string s with all trailing Unicode code points c satisfying f(c) removed.
func TrimSpace
func TrimSpace(s string) string
TrimSpace returns a slice of the string s, with all leading and trailing white space removed, as defined by Unicode.
? Example
? Example
Code:
fmt.Println(strings.TrimSpace(" \t\n a lone gopher \n\t\r\n"))
Output:
a lone gopher
type Reader
type Reader struct {
// contains filtered or unexported fields
}
A Reader implements the io.Reader, io.ReaderAt, io.Seeker, io.ByteScanner, and io.RuneScanner interfaces by reading from a string.
func NewReader
func NewReader(s string) *Reader
NewReader returns a new Reader reading from s. It is similar to bytes.NewBufferString but more efficient and read-only.
func (*Reader) Len
func (r *Reader) Len() int
Len returns the number of bytes of the unread portion of the string.
func (*Reader) Read
func (r *Reader) Read(b []byte) (n int, err error)
func (*Reader) ReadAt
func (r *Reader) ReadAt(b []byte, off int64) (n int, err error)
func (*Reader) ReadByte
func (r *Reader) ReadByte() (b byte, err error)
func (*Reader) ReadRune
func (r *Reader) ReadRune() (ch rune, size int, err error)
func (*Reader) Seek
func (r *Reader) Seek(offset int64, whence int) (int64, error)
Seek implements the io.Seeker interface.
func (*Reader) UnreadByte
func (r *Reader) UnreadByte() error
func (*Reader) UnreadRune
func (r *Reader) UnreadRune() error
type Replacer
type Replacer struct {
// contains filtered or unexported fields
}
A Replacer replaces a list of strings with replacements.
func NewReplacer
func NewReplacer(oldnew ...string) *Replacer
NewReplacer returns a new Replacer from a list of old, new string pairs. Replacements are performed in order, without overlapping matches.
? Example
? Example
Code:
r := strings.NewReplacer("<", "<", ">", ">") fmt.Println(r.Replace("This is <b>HTML</b>!"))
Output:
This is <b>HTML</b>!
func (*Replacer) Replace
func (r *Replacer) Replace(s string) string
Replace returns a copy of s with all replacements performed.
func (*Replacer) WriteString
func (r *Replacer) WriteString(w io.Writer, s string) (n int, err error)
WriteString writes s to w with all replacements performed.
Bugs
The rule Title uses for word boundaries does not handle Unicode punctuation properly.
Except as noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code is licensed under a BSD license.
Terms of Service | Privacy Policy