我正在嘗試轉換一些文本,其中第一個字母被更改或保留為大寫字母,其余部分轉換為全部小寫。即這是一些要更改的文本 - 這是要更改的一些文本我嘗試了以下方法,但 \ 在 Go 中不兼容。但是,我仍然需要以相同的格式使用它。將: - 正則表達式: (\w+)([A-Z]) 替換為: “\L$1$2”
1 回答

小怪獸愛吃肉
TA貢獻1852條經驗 獲得超1個贊
正如評論中提到的,您并不真正想要正則表達式,因為正則表達式并不是為此而設計的。
標準 Go 庫的問題在于存在字符串。Title,但這會將所有單詞轉換為每個單詞的第一個字符的大寫字母,但查看字符串的源。標題有助于創建有效的內容:
textToChange := "This Is SOME TEXT TO CHANGE"
isFirstChar := true
final := strings.Map(func(r rune) rune {
if isFirstChar {
isFirstChar = false
return unicode.ToUpper(r)
}
return r
}, strings.ToLower(textToChange))
這個解決方案并不完美(我還沒有真正測試過它 - 它假設unicode。ToUpper會很樂意轉換任何字符),但它可以使用unicode。
- 1 回答
- 0 關注
- 310 瀏覽
添加回答
舉報
0/150
提交
取消