VGrabko
@VGrabko
Golang, Php, Js

Как разбить строку?

У меня есть строка (md5 hash). Мне нужно получить из неё две "строки" 1 - 4 символ и 4 - 8 символ. Как такое сделать?
  • Вопрос задан
  • 1175 просмотров
Решения вопроса 3
@Firik67
Middle PHP Developer
Курите в сторону срезов.
a:='abcdefghijk'[0:4]
b:='abcdefghijk'[4:8]
Ответ написан
https://play.golang.org/p/uPJg6g2CcB
package main

import (
	"fmt"
)

func main() {
	str := "somehash"

	p1 := str[:4]
	p2 := str[4:]

	fmt.Println(p1)
	fmt.Println(p2)
}


Это если у вас изначальная строка из 8 символов. Если нет, то нужно добавить еще границу p2 := str[4:8].
Учтите, что это все на указателях работает, соответственно, при изменении данных в p1 или p2 они поменяются и в исходной строке и наоборот.
Ответ написан
0xcffaedfe
@0xcffaedfe
Developer & Reverser
Пригласить эксперта
Ответы на вопрос 1
kana-desu
@kana-desu
Golang, Clojure, Elixir, Ruby
Запустить на play.golang

package main

import (
	"fmt"
)

func min(a, b int) int {
	if a < b {
		return a
	}

	return b
}

func splitIntoChunks(s string, chunkLength int) []string {
	length := len(s)

	chunksCount := length / chunkLength
	if length%chunkLength != 0 {
		chunksCount += 1
	}

	chunks := make([]string, chunksCount)

	for i := range chunks {
		from := i * chunkLength
		to := min(length, from+chunkLength)
		chunks[i] = s[from:to]
	}

	return chunks
}

func main() {
	s := "aaabbbcccdddeeee"
	fmt.Println(splitIntoChunks(s, 3))
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы