Как обрезать строку в golang до первого вхождения одного из разделителей?

Пользователь

от craig.emmerich , в категории: Golang , 6 месяцев назад

Как обрезать строку в golang до первого вхождения одного из разделителей?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от sylvester , 6 месяцев назад

@craig.emmerich 

В Go можно использовать функцию strings.SplitN, чтобы разделить строку до первого вхождения одного из разделителей. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
package main

import (
	"fmt"
	"strings"
)

func main() {
	str := "Hello, World! This is a test"
	delimiters := []string{"!", "?"}

	for _, delimiter := range delimiters {
		if index := strings.Index(str, delimiter); index != -1 {
			trimmedStr := strings.TrimSpace(str[:index])
			fmt.Println(trimmedStr)
			break
		}
	}
}


В этом примере строка str будет обрезаться до первого вхождения одного из символов в delimiters. Результат будет выведен на экран:

1
Hello, World


Функция strings.Index используется для поиска первого вхождения символа-разделителя в строке. Если индекс не равен -1 (т.е. символ-разделитель найден), используется синтаксис среза строк str[:index], чтобы обрезать строку до этого индекса. Затем функция strings.TrimSpace применяется для удаления возможных пробелов в начале и конце обрезанной строки.