Пакет strings надає функції для роботи з рядками тексту (англ. string).
Нижче наведено деякі функції з цього пакета; решту можна подивитися в документації!
| Роль | Функція | Призначення |
|---|---|---|
| Перетворення регістру | ToLower | Перетворити рядок тексту на нижній регістр |
| Перетворення регістру | ToUpper | Перетворити рядок тексту на верхній регістр |
| Пошук | Contains | Перевірити, чи містить рядок тексту певний підрядок |
| Пошук | Count | Порахувати неперекривні входження підрядка |
| Пошук | HasPrefix | Перевірити, чи починається рядок тексту з певного підрядка |
| Пошук | HasSuffix | Перевірити, чи закінчується рядок тексту певним підрядком |
| Пошук | Index | Повернути індекс першого входження підрядка або -1 |
| Змінювання | Replace | Замінити до n входжень підрядка |
| Змінювання | ReplaceAll | Замінити всі входження підрядка |
| Змінювання | TrimSpace | Прибрати пробіли на початку й у кінці |
| Розбиття та обʼєднання | Fields | Розбити рядок тексту на слова за пробілами |
| Розбиття та обʼєднання | FieldsSeq | Отримувати слова по одному |
| Розбиття та обʼєднання | Join | Зʼєднати зріз рядків тексту роздільником |
| Розбиття та обʼєднання | Split | Розбити рядок тексту на частини за роздільником |
| Розбиття та обʼєднання | SplitSeq | Отримувати частини по одному |
import (
"fmt"
"strings"
)
// Case conversion
strings.ToLower("Gopher") // "gopher"
strings.ToUpper("Gopher") // "GOPHER"
// Searching
strings.Contains("Apple", "le") // true
strings.Index("Apple", "le") // 3
strings.Index("Apple", "xyz") // -1
strings.Count("test", "t") // 2
strings.HasPrefix("Gopher", "Go") // true
strings.HasSuffix("Gopher", "er") // true
// Modifying
strings.TrimSpace(" hello ") // "hello"
strings.Replace("aabbcc", "b", "x", 1) // "aaxbcc"
strings.ReplaceAll("aabbcc", "b", "x") // "aaxxcc"
// Splitting or Joining
strings.Fields(" a b\tc ") // []string{"a", "b", "c"}
strings.Split("a,b,c", ",") // []string{"a", "b", "c"}
strings.Join([]string{"a", "b", "c"}, ",") // "a,b,c"
// You do not need to worry about this range syntax yet.
// It is covered later in the range iteration concept.
for word := range strings.FieldsSeq(" a b\tc ") {
fmt.Println(word)
}
// Output:
// a
// b
// c
for part := range strings.SplitSeq("a,b,c", ",") {
fmt.Println(part)
}
// Output:
// a
// b
// c