在golang中,替换字符串中的char文字最简单的方法是什么?
这是C代码,我们在其中用'3'替换空格:
#include <stdio.h>
#include <string.h>
int main(){
char input[] = "Look ma no hands";
printf("Input \"%s\" ", input);
for (int i = 0; i < strlen(input); i++){
//printf("input[%d] is %c\n", i, input[i]);
if ( input[i] == ' ' ){
input[i] = 3;
}
}
printf(",converted to :%s\n", input);
return 0;
}
输出:
$ ./a.out
Input "Look ma no hands" ,converted to :Lookmanohands
我们如何在golang中做到这一点?
答案 0 :(得分:2)
这是我能做的最接近的c示例:
func main() {
input := "Look ma no hands"
var b strings.Builder
b.Grow(len(input))
for _, p := range input[:] {
if p == ' '{
fmt.Fprintf(&b, "%c", '3')
}else{
fmt.Fprintf(&b, "%c", p)
}
}
s := b.String()
fmt.Println(s)
}
但是正如您所看到的,我们无法修改原始字符串,因此我们不会“替换”原始字符串,而是创建一个新字符串。