当前位置: 首页 > 面试题库 >

如何从Go中的字符串替换nth char

陆晓博
2023-03-14
问题内容

我想替换原始字符串中的第n个字符。我可以使用来从字符串中访问第n个字符chars[i],但是当我给赋值时chars[i],会出现错误。

package main
import "fmt"

func main() {
  var chars = "abcdef"
  fmt.Println(string(chars[3]))
  chars[3] = "z" // is not working
}

问题答案:

之所以发生这种情况,chars是因为它实际上是一个字符串并且是不可变的。如果适当地声明了它(作为字节片),则可以在尝试时将其分配。这是一个例子。

package main
import "fmt"

func main() {
  var chars = []byte{'a', 'b', 'c', 'd', 'e', 'f'}
  fmt.Println(string(chars[3]))
  fmt.Printf("%T\n", chars)
  chars[3] = 'z'
  fmt.Println(string(chars))
}

https://play.golang.org/p/N1sSsfIBQY

另外,您也可以按照其他答案中的说明使用切片。



 类似资料:
  • 我希望我的程序替换输入字符串中的每个元音。

  • 问题内容: 我正在使用一个喜欢: 我使用的是哪里。这行代码对我不起作用。我想知道自己在做什么错? 问题答案: 尽管看起来可能存在一些语法问题,但是代码看起来或多或少还可以。这是一个工作示例:

  • 问题内容: 我有一个包含标记的字符串列表。 令牌是: {ARG:token_name}。 我也有标记的哈希图,其中key是标记,value是我要用来替换标记的值。 当我使用“ replaceAll”方法时,出现错误: java.util.regex.PatternSyntaxException:非法重复 我的代码是这样的: 并且valueFromHashMap包含{和}。 我将此哈希图作为参数。

  • 假设我有一个字符串,如下所示: 我想把“abcd”换成“dddd”。我曾试图做这样的事: 它不起作用。有什么建议吗? 编辑:更具体地说,我在Java工作,我试图解析超文本标记语言文档,具体地说

  • 示例:[可爱]微笑这是测试[笑哭] 目的:将这个字符串中所有中括号表示的文字替换为emoji

  • 我正在用apache-poi读取一个docx文件。在wordfile中,我需要替换的每个键等于${key}。当这个键在段落中时,我可以,但我有一种情况,我的键在docx的then表中,因此,我需要迭代这个键位置的数组值,例如: