Функция strings.Fields

Функция strings.Fields разделяет строку на подстроки, удаляя все пробельные символы (пробелы, табуляцию, переводы строк и т.д.) и возвращает слайс строк. В единственный параметр функция принимает строку для разбиения.

В отличие от strings.Split, функция strings.Fields работает с любым количеством пробельных символов и игнорирует их, возвращая только значимые фрагменты строки. Это удобно для обработки ввода пользователя или разбора текстовых данных.

Синтаксис

gostrings.Fields(str)

Пример

Давайте разобьем строку с несколькими пробелами на слова:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  str := "abcde   fgh   ijklm"
  res := strings.Fields(str)
  fmt.Println(res)
}

Результат выполнения кода:

go[abcde fgh ijklm]

Пример

Давайте разобьем строку с табуляциями и переводами строк:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  str := "abcde\tfgh\nijklm"
  res := strings.Fields(str)
  fmt.Println(res)
}

Результат выполнения кода:

go[abcde fgh ijklm]

Пример

Давайте разобьем строку с ведущими и завершающими пробелами:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  str := "   abcde fgh   "
  res := strings.Fields(str)
  fmt.Println(res)
}

Результат выполнения кода:

go[abcde fgh]

Пример

Давайте разобьем пустую строку:

gopackage main

import (
  "fmt"
  "strings"
)

func main() {
  str := ""
  res := strings.Fields(str)
  fmt.Println(res)
}

Результат выполнения кода:

go[]

Смотрите также

  • функцию strings.FieldsFunc,
    которая разбивает строку по заданной пользователем функции
  • функцию strings.Split,
    которая разбивает строку по указанному разделителю
  • функцию strings.SplitN,
    которая разбивает строку на ограниченное количество частей
  • функцию strings.TrimSpace,
    которая удаляет пробельные символы по краям строки