import "strings"

文字列操作を行うシンプルな関数を集めたパッケージです。

パッケージファイル

reader.go strings.go

Contains関数

func Contains(s, substr string) bool

Containsは、s内にsubstrがあるときtrueを返します。

Count関数

func Count(s, sep string) int

Countは、s内のsepの重複しない個数をカウントします。

Fields関数

func Fields(s string) []string

Fieldsは、文字列sをひとつ以上の連続したホワイトスペースで分割し、sの部分文字列の配列を返します。sにホワイトスペースしか含まれていないときは空リストを返します。

FieldsFunc関数

func FieldsFunc(s string, f func(int) bool) []string

FieldsFuncは、関数f(c)がtrueを返す(cは、Unicodeコードポイント)位置で文字列sを分割し、sのスライスの配列を返します。f(c)がtrueを返すようなコードポイントがs内になかったときは空のスライスが返されます。

HasPrefix関数

func HasPrefix(s, prefix string) bool

HasPrefixは、文字列sの先頭部分がprefixと一致するかをテストします。

HasSuffix関数

func HasSuffix(s, suffix string) bool

HasSuffixは、文字列sの末尾部分がsuffixと一致するかをテストします。

Index関数

func Index(s, sep string) int

Indexは、s内でsepが最初に出現する箇所のインデックスを返します。一致しないときは-1を返します。

IndexAny関数

func IndexAny(s, chars string) int

IndexAnyは、s内でchars内のUnicodeコードポイントのどれかが最初に出現する箇所のインデックスを返します。どのUnicodeコードポイントも一致しないときは-1を返します。

IndexFunc関数

func IndexFunc(s string, f func(r int) bool) int

IndexFuncは、s内でf(c)を満たす最初のUnicodeコードポイントのインデックス、または見つからなかったときに-1を返します。

IndexRune関数

func IndexRune(s string, rune int) int

IndexRuneは、s内でUnicodeコードポイントruneが最初に出現する箇所のインデックスを返します。一致しないときは-1を返します。

Join関数

func Join(a []string, sep string) string

Joinは、パラメータa内の要素を結合して、新たな文字列を作成します。sepで指定したセパレータが結合時に要素間に挿入されます。

LastIndex関数

func LastIndex(s, sep string) int

LastIndexは、s内でsepが最後に出現する箇所のインデックスを返します。一致しないときは-1を返します。

LastIndexAny関数

func LastIndexAny(s, chars string) int

LastIndexAnyは、chars内のUnicodeコードポイントのどれかが、s内で最後に現れた位置のインデックスを返します。chars内のどのUnicodeコードポイントもs内に存在しなければ、-1を返します。

LastIndexFunc関数

func LastIndexFunc(s string, f func(r int) bool) int

LastIndexFuncは、s内でf(c)を満たす最後のUnicodeコードポイントのインデックス、または見つからなかったときに-1を返します。

Map関数

func Map(mapping func(rune int) int, s string) string

Mapは、文字列s内の全ての文字をマッピング関数によって変換し、その結果を新たな文字列として返します。マッピング関数がマイナス値を返したときは、その文字は置き換えられることなく破棄されます。

Repeat関数

func Repeat(s string, count int) string

Repeatは、文字列sをパラメータcountで指定した回数コピーした新しい文字列を返します。

Replace関数

func Replace(s, old, new string, n int) string

Replaceは、文字列sのコピーに対し、最初のn個、oldの部分をnewに置換(重複はなし)したものを返します。n < 0のとき、置換数は無制限になります。

Split関数

func Split(s, sep string, n int) []string

Splitは、sをsepを区切りとして部分文字列へスライスし、セパレータ間の部分文字列のスライスを返します。sepが空のとき、SplitはUTF-8シーケンス毎に分割を行います。nは、返される部分文字列の数を決定します。

n > 0: 最大n個の部分文字列。最後の部分文字列には、分割されなかった残りが含まれる。
n == 0: 結果は、nil。(部分文字列なし)
n < 0: すべての部分文字列。

SplitAfter関数

func SplitAfter(s, sep string, n int) []string

SplitAfterは、sの中でsepが現れた箇所の直後でスライスを行い、これら部分文字列のスライスを返します。sepが空のとき、SplitAfterは、UTF-8シーケンス毎に分割を行います。nは、返される部分文字列の数を決定します。

n > 0: 最大n個の部分文字列。最後の部分文字列には、分割されなかった残りが含まれる。
n == 0: 結果は、nil。(部分文字列なし)
n < 0: すべての部分文字列。

Title関数

func Title(s string) string

Titleは、文字列sの単語の初めのUnicode文字をタイトルケースにマップしたコピーを返します。

ToLower関数

func ToLower(s string) string

ToLowerは、文字列sをUnicodeの小文字にマッピングしたコピーを返します。

ToLowerSpecial関数

func ToLowerSpecial(_case unicode.SpecialCase, s string) string

ToLowerSpecialは、与えたSpecialCaseのルールを優先的に使い、文字列sをUnicodeの小文字にマッピングしたコピーを返します。

ToTitle関数

func ToTitle(s string) string

ToTitleは、文字列sをUnicodeのタイトルケースにマッピングしたコピーを返します。

ToTitleSpecial関数

func ToTitleSpecial(_case unicode.SpecialCase, s string) string

ToTitleSpecialは、与えたSpecialCaseのルールを優先的に使い、文字列sをUnicodeのタイトルケースにマッピングしたコピーを返します。

ToUpper関数

func ToUpper(s string) string

ToUpperは、文字列sをUnicodeの大文字にマッピングしたコピーを返します。

ToUpperSpecial関数

func ToUpperSpecial(_case unicode.SpecialCase, s string) string

ToUpperSpecialは、与えたSpecialCaseのルールを優先的に使い、文字列sをUnicodeの大文字にマッピングしたコピーを返します。

Trim関数

func Trim(s string, cutset string) string

Trimは、cutsetに含まれるUnicodeコードポイントを文字列sの先頭と末尾からすべて削除したスライスを返します。

TrimFunc関数

func TrimFunc(s string, f func(r int) bool) string

TrimFuncは、f(c)を満たすUnicodeコードポイントcを文字列sの先頭と末尾からすべて削除したスライスを返します。

TrimLeft関数

func TrimLeft(s string, cutset string) string

TrimLeftは、cutsetに含まれるUnicodeコードポイントを文字列sの先頭からすべて削除したスライスを返します。

TrimLeftFunc関数

func TrimLeftFunc(s string, f func(r int) bool) string

TrimLeftFuncは、f(c)を満たすUnicodeコードポイントcを文字列sの先頭からすべて削除したスライスを返します。

TrimRight関数

func TrimRight(s string, cutset string) string

TrimRightは、cutsetに含まれるUnicodeコードポイントを文字列sの末尾からすべて削除したスライスを返します。

TrimRightFunc関数

func TrimRightFunc(s string, f func(r int) bool) string

TrimRightFuncは、f(c)を満たすUnicodeコードポイントcを文字列sの末尾からすべて削除したスライスを返します。

TrimSpace関数

func TrimSpace(s string) string

TrimSpaceは、文字列sの先頭と末尾からUnicodeで定義されているホワイトスペースを除外したスライスを返します。

Reader型

Readerは、文字列から読み込みを行うRead、ReadByte、ReadRune関数を備えています。

type Reader string

NewReader関数

func NewReader(s string) *Reader

NewReaderは、sから読み込みを行う新しいReaderを返します。これはbytes.NewBufferStringとほぼ同じですが、より効率がよく、また読み込みしかできない点が異なります。

(*Reader) Read関数

func (r *Reader) Read(b []byte) (n int, err os.Error)

(*Reader) ReadByte関数

func (r *Reader) ReadByte() (b byte, err os.Error)

(*Reader) ReadRune関数

func (r *Reader) ReadRune() (rune int, size int, err os.Error)

ReadRuneは、バッファから次のUTF-8エンコードされているUnicodeコードポイントを読み込んで返します。読み込むバイトデータがないときはos.EOFエラーが返されます。バイトデータが誤ったUTF-8エンコードであるときは1バイトスキップしてU+FFFD, 1を返します。

バグ

Titleで使用している単語の協会は、Unicodeの句読点を正しく取り扱いません。