当年话下
似乎您可能希望同时使用\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)}
0
0