在保留转义空格的同时在 Go 中拆分字符串

我可以拆分一个字符串strings.Split

strings.Split(`Hello World`, " ")
// ["Hello", "World"]  (length 2)

但我想保留反斜杠转义空格:

escapePreservingSplit(`Hello\ World`, " ")
// ["Hello\ World"] (length 1)

在 Go 中完成此操作的推荐方法是什么?


海绵宝宝撒
浏览 62回答 1
1回答

饮歌长啸

由于 go 不支持环顾四周,所以这个问题并不容易解决。这让你接近,但留下尾随空间完好无损:re := regexp.MustCompile(`.*?[^\\]( |$)`)split := re.FindAllString(`Hello Cruel\ World Pizza`, -1)fmt.Printf("%#v", split)输出:[]string{"Hello ", "Cruel\\ World ", "Pizza"}然后,您可以在接下来的步骤中修剪所有字符串。
打开App,查看更多内容
随时随地看视频慕课网APP