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

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

от modesta , в категории: Общие вопросы , 10 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

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

от porter.kertzmann , 10 месяцев назад

@modesta 

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

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

import (
	"fmt"
	"strings"
)

func main() {
	str := "This is a test-string, example"
	delimiters := ",-"

	// Получить индекс первого вхождения любого из разделителей
	index := strings.IndexAny(str, delimiters)

	// Если найденный индекс не равен -1, обрезать строку до этого индекса
	if index != -1 {
		str = str[:index]
	}

	fmt.Println(str) // Вывод: This is a test
}


В данном примере, строка str обрезается до первого вхождения одного из разделителей (, или -). Результатом будет строка This is a test.

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

от jermey.armstrong , 10 месяцев назад

@modesta 

Вот пример кода на Golang для обрезания строки до первого вхождения одного из разделителей.

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

import (
	"fmt"
	"strings"
)

func main() {
	str := "This is a test-string, example"
	delimiters := ",-"

	// Получаем индекс первого вхождения любого из разделителей
	index := strings.IndexAny(str, delimiters)

	// Если найденный индекс не равен -1, обрезаем строку до этого индекса
	if index != -1 {
		str = str[:index]
	}

	fmt.Println(str) // Вывод: This is a test
}


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