如何从Golang中的字符串中删除多余的空格/空格?
我想知道如何删除:
- 所有 空格或换行符,空字符等。
- 字符串中的任何多余空格(例如,“ hello [space] [space] world”将转换为“ hello [space] world”)
单个正则表达式,对国际空格字符的unicode支持等是否可行?
回答:
似乎您可能希望同时使用\s
速记字符类和\p{Zs}
Unicode属性来匹配Unicode空间。但是,这两个步骤都不能用1个正则表达式替换来完成,因为您需要两个不同的替换,并且ReplaceAllStringFunc
只允许使用整个匹配字符串作为参数(我不知道如何检查哪个组匹配)。
因此,我建议使用两个正则表达式:
^[\s\p{Zs}]+|[\s\p{Zs}]+$
-匹配所有前导/尾随空格[\s\p{Zs}]{2,}
-匹配字符串中的2个或更多空格符号
样例代码:
package mainimport (
"fmt"
"regexp"
)
func main() {
input := " Text More here "
re_leadclose_whtsp := regexp.MustCompile(`^[\s\p{Zs}]+|[\s\p{Zs}]+$`)
re_inside_whtsp := regexp.MustCompile(`[\s\p{Zs}]{2,}`)
final := re_leadclose_whtsp.ReplaceAllString(input, "")
final = re_inside_whtsp.ReplaceAllString(final, " ")
fmt.Println(final)
}
以上是 如何从Golang中的字符串中删除多余的空格/空格? 的全部内容, 来源链接: utcz.com/qa/435612.html