3 回答

TA貢獻1862條經(jīng)驗 獲得超7個贊
假設您想要刪除空行作為輸出的相同字符串,我將使用正則表達式:
import (
"fmt"
"regexp"
)
func main() {
var s = `line 1
line 2
line 3`
regex, err := regexp.Compile("\n\n")
if err != nil {
return
}
s = regex.ReplaceAllString(s, "\n")
fmt.Println(s)
}

TA貢獻1824條經(jīng)驗 獲得超6個贊
類似于 ΔλЛ 的答案,它可以用字符串來完成。替換:
func Replace(s, old, new string, n int) string Replace 返回字符串 s 的副本,其中 old 的前 n 個非重疊實例被 new 替換。如果 old 為空,則它在字符串的開頭和每個 UTF-8 序列之后匹配,為 k-rune 字符串生成最多 k+1 次替換。如果 n < 0,則替換次數(shù)沒有限制。
package main
import (
"fmt"
"strings"
)
func main() {
var s = `line 1
line 2
line 3`
s = strings.Replace(s, "\n\n", "\n", -1)
fmt.Println(s)
}
https://play.golang.org/p/lu5UI74SLo

TA貢獻1817條經(jīng)驗 獲得超6個贊
更通用的方法可能是這樣的。
package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
s := `
####
####
####
####
`
fmt.Println(regexp.MustCompile(`[\t\r\n]+`).ReplaceAllString(strings.TrimSpace(s), "\n"))
}
https://play.golang.org/p/uWyHfUIDw-o
- 3 回答
- 0 關注
- 1019 瀏覽
添加回答
舉報