gpt4 book ai didi

string - 可以在Go中的另一个字符串中嵌入一些值吗?

转载 作者:行者123 更新时间:2023-12-01 22:37:17 24 4
gpt4 key购买 nike

是否可以在字符串中嵌入一些值?或在Go中将字符串的一部分复制到另一部分?
像这样的东西:

鉴于这些:

user_id := "100"
given_id := "12"
ip_address := "192.168.1.1"

我放入 string1 := "32characterstringgives128bitlong"
并得到这样的东西:
newString := "100harac12rstrin192.168.1.1tlong"

我想澄清一下,我不想检查或查看该字符串是否包含在另一个字符串中。我想将一些值或字符串插入另一个字符串的特定部分。

到目前为止,我尝试了 copy()并划分为 []byte数组来更改单个字符
pad1 := fmt.Sprintf("%-8", user_id)
pad2 := fmt.Sprintf("%-8", given_id)
pad3 := fmt.Sprintf("%-16", ip_address)

padded := string(pad1 + pad2 + pad3)

得到: "1 1 192.168.1.1 "这是32个字节长,然后我将在空格中添加相应的字符串值,如下所示:
for i := range string1 {
if padded[i] == 32 {
padded[i] = byte(string1[i]) //insert into padded's empty spaces
}
}

ID和IP地址可能比我的示例更长或更短。所以ID可能像
id#1 = 1和id#50 = 1001,ip地址可能像
192.168.1.1或192.168.100.110,所以我不能将它们附加在一起。这就是为什么想知道是否有办法用其他东西来改变字符串的特定部分

最佳答案

这有效:

package main

import "fmt"

func main() {
//declarations
user_id := "1"
given_id := "1"
ip_address := "192.168.1.1"

pad1 := fmt.Sprintf("%-8s", user_id)
pad2 := fmt.Sprintf("%-8s", given_id)
pad3 := fmt.Sprintf("%-16s", ip_address)

mak := string(pad1 + pad2 + pad3)
bytemak := []byte(mak)

token := []byte("32characterstringgives128bitlong")

for i := range token {
if mak[i] == 32 {
bytemak[i] = byte(token[i])
}
}
fmt.Println(string(bytemak))
}

结果: 12charac1erstrin192.168.1.1tlong

关于string - 可以在Go中的另一个字符串中嵌入一些值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59465957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com