package strings
import "strings"
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 IndexByte(s string, c byte) 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 TrimPrefix(s, prefix string) string
- func TrimRight(s string, cutset string) string
- func TrimRightFunc(s string, f func(rune) bool) string
- func TrimSpace(s string) string
- func TrimSuffix(s, suffix 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
- func (r *Reader) WriteTo(w io.Writer) (n int64, err error)
- type Replacer
Examples ¶
- Contains
- ContainsAny
- Count
- EqualFold
- Fields
- FieldsFunc
- Index
- IndexAny
- IndexFunc
- IndexRune
- Join
- LastIndex
- Map
- NewReplacer
- Repeat
- Replace
- Split
- SplitAfter
- SplitAfterN
- SplitN
- Title
- ToLower
- ToTitle
- ToUpper
- Trim
- TrimPrefix
- TrimSpace
- TrimSuffix
Functions ¶
func Contains ¶
Contains returns true if substr is within s.
func ContainsAny ¶
ContainsAny returns true if any Unicode code points in chars are within s.
func ContainsRune ¶
ContainsRune returns true if the Unicode code point r is within s.
func Count ¶
Count counts the number of non-overlapping instances of sep in s.
func EqualFold ¶
EqualFold reports whether s and t, interpreted as UTF-8 strings, are equal under Unicode case-folding.
func Fields ¶
Fields splits the string s around each instance of one or more consecutive white space characters, as defined by unicode.IsSpace, returning an array of substrings of s or an empty list if s contains only white space.
func FieldsFunc ¶
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. FieldsFunc makes no guarantees about the order in which it calls f(c). If f does not return consistent results for a given c, FieldsFunc may crash.
func HasPrefix ¶
HasPrefix tests whether the string s begins with prefix.
func HasSuffix ¶
HasSuffix tests whether the string s ends with suffix.
func Index ¶
Index returns the index of the first instance of sep in s, or -1 if sep is not present in s.
func IndexAny ¶
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 IndexByte ¶
IndexByte returns the index of the first instance of c in s, or -1 if c is not present in s.
func IndexFunc ¶
IndexFunc returns the index into s of the first Unicode code point satisfying f(c), or -1 if none do.
func IndexRune ¶
IndexRune returns the index of the first instance of the Unicode code point r, or -1 if rune is not present in s.
func Join ¶
Join concatenates the elements of a to create a single string. The separator string sep is placed between elements in the resulting string.
func LastIndex ¶
LastIndex returns the index of the last instance of sep in s, or -1 if sep is not present in s.
func LastIndexAny ¶
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 ¶
LastIndexFunc returns the index into s of the last Unicode code point satisfying f(c), or -1 if none do.
func Map ¶
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.
Code:play
Output:Example¶
package main
import (
"fmt"
"strings"
)
func main() {
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..."))
}
'Gjnf oevyyvt naq gur fyvgul tbcure...
func Repeat ¶
Repeat returns a new string consisting of count copies of the string s.
func Replace ¶
Replace returns a copy of the string s with the first n non-overlapping instances of old replaced by new. If old is empty, it matches at the beginning of the string and after each UTF-8 sequence, yielding up to k+1 replacements for a k-rune string. If n < 0, there is no limit on the number of replacements.
func Split ¶
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.
Code:play
Output:Example¶
package main
import (
"fmt"
"strings"
)
func main() {
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"))
}
["a" "b" "c"]
["" "man " "plan " "canal panama"]
[" " "x" "y" "z" " "]
[""]
func SplitAfter ¶
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.
func SplitAfterN ¶
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¶
Code:play
package main import ( "fmt" "strings" ) func main() { fmt.Printf("%q\n", strings.SplitAfterN("a,b,c", ",", 2)) }
Output:
["a," "b,c"]
func SplitN ¶
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¶
Code:play
package main import ( "fmt" "strings" ) func main() { 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 ¶
Title returns a copy of the string s with all Unicode letters that begin words mapped to their title case.
BUG: The rule Title uses for word boundaries does not handle Unicode punctuation properly.
func ToLower ¶
ToLower returns a copy of the string s with all Unicode letters mapped to their lower case.
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 ¶
ToTitle returns a copy of the string s with all Unicode letters mapped to their title case.
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 ¶
ToUpper returns a copy of the string s with all Unicode letters mapped to their upper case.
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 ¶
Trim returns a slice of the string s with all leading and trailing Unicode code points contained in cutset removed.
func TrimFunc ¶
TrimFunc returns a slice of the string s with all leading and trailing Unicode code points c satisfying f(c) removed.
func TrimLeft ¶
TrimLeft returns a slice of the string s with all leading Unicode code points contained in cutset removed.
func TrimLeftFunc ¶
TrimLeftFunc returns a slice of the string s with all leading Unicode code points c satisfying f(c) removed.
func TrimPrefix ¶
TrimPrefix returns s without the provided leading prefix string. If s doesn't start with prefix, s is returned unchanged.
func TrimRight ¶
TrimRight returns a slice of the string s, with all trailing Unicode code points contained in cutset removed.
func TrimRightFunc ¶
TrimRightFunc returns a slice of the string s with all trailing Unicode code points c satisfying f(c) removed.
func TrimSpace ¶
TrimSpace returns a slice of the string s, with all leading and trailing white space removed, as defined by Unicode.
func TrimSuffix ¶
TrimSuffix returns s without the provided trailing suffix string. If s doesn't end with suffix, s is returned unchanged.
Types ¶
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
A Reader implements the io.Reader, io.ReaderAt, io.Seeker, io.WriterTo, io.ByteScanner, and io.RuneScanner interfaces by reading from a string.
func NewReader ¶
NewReader returns a new Reader reading from s. It is similar to bytes.NewBufferString but more efficient and read-only.
func (*Reader) Len ¶
Len returns the number of bytes of the unread portion of the string.
func (*Reader) Read ¶
func (*Reader) ReadAt ¶
func (*Reader) ReadByte ¶
func (*Reader) ReadRune ¶
func (*Reader) Seek ¶
Seek implements the io.Seeker interface.
func (*Reader) UnreadByte ¶
func (*Reader) UnreadRune ¶
func (*Reader) WriteTo ¶
WriteTo implements the io.WriterTo interface.
type Replacer ¶
type Replacer struct {
// contains filtered or unexported fields
}
Replacer replaces a list of strings with replacements. It is safe for concurrent use by multiple goroutines.
func NewReplacer ¶
NewReplacer returns a new Replacer from a list of old, new string pairs. Replacements are performed in order, without overlapping matches.
func (*Replacer) Replace ¶
Replace returns a copy of s with all replacements performed.
func (*Replacer) WriteString ¶
WriteString writes s to w with all replacements performed.
Source Files ¶
reader.go replace.go search.go strings.go strings_decl.go
- Version
- v1.4.0-rc.2
- Published
- Dec 2, 2014
- Platform
- darwin/amd64
- Imports
- 4 packages
- Last checked
- 16 minutes ago –
Tools for package owners.