我有一个要转换为Go的JS函数:
function splitByEmptyNewline(str) {
return str
.replace(/\r\n/g, '\n')
.split(/^\s*\n/gm);
}
这是到目前为止我得到的:
func splitByEmptyNewline(str string) []string {
strNormalized := regexp.
MustCompile("\r\n").
ReplaceAllString(str, "\n")
return regexp.
MustCompile("^s*\n").
Split(strNormalized, -1)
}
这不会返回与JavaScript版本相同的结果。所以我想知道我错过了什么?
我已经尝试过将正则表达式使用双引号“和后向单引号`。
您的分隔符RegEx不匹配,因为您分割了一个完整的字符串,并且该字符串的开头不是空格。因此,不是^\s*\n
您必须使用\n\s*\n
:
func splitByEmptyNewline(str string) []string {
strNormalized := regexp.
MustCompile("\r\n").
ReplaceAllString(str, "\n")
return regexp.
MustCompile(`\n\s*\n`).
Split(strNormalized, -1)
}
这是工作示例:https : //play.golang.org/p/be6Mf3-XNP
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句