2016-04-30 219 views
1

我有這個JS,我試圖翻譯到去功能:Golang分割字符串由空換行符

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版本相同的結果。所以我想知道我錯過了什麼?

我同時使用雙引號和向後單引號`的正則表達式。

+0

你可以通過樣本輸入輸出將JS變成StackSnippet嗎? – Laurel

回答

3

你的分隔符正則表達式不匹配,因爲拆分一個完整的字符串和字符串的開始嘗試。沒有空格所以不是^\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