1
強調我有這個字符串:做第一個字符小寫和空間正則表達式
Fuel surcharge
,我喜歡使用正則表達式變成
fuel_surcharge
。我的正則表達式匹配看起來像這樣
\b([A-Z])|(\s)
,這讓我的兩場比賽,我需要。
然後我與此嘗試替換正則表達式
\L\1_\2
與第一匹配應該改變爲小寫和第二匹配應與_
但結果我被替換的邏輯「M給出的是
f_uel_ surcharge
我看起來像我無法隔離第二場比賽。我需要在替換正則表達式中包含_
嗎?
Here是我在regex101.com
上試過的正則表達式的鏈接。目前正則表達式爲pcre
,但可能我喜歡在Java
中使用它。
如何只's.toLowerCase()代替(」」, '_')'?或者,如果您只想讓第一個字符變成小寫:'s.substring(0,1).toLowercase()+ s.substring(1).replace('','_')'? –
@JBNizet謝謝。如果我在Java中實現它,我會使用你的解決方案。現在我有點好奇如何用正則表達式來解決它。 – g3blv
'\ B([A-Z])([A-Z] *)(\ S)''到\大號\ 1 \ 2_ \ 3' –