我需要用連字符將字符串分解成單詞。例如:如何編寫這個Java正則表達式?
「WorkInProgress」轉換爲「工作進行中」
「NotComplete」轉換爲「NotComplete」
大多數情況下,有一個詞的資本開始,以小寫。
但是有一個例外,「CIInProgress」應該轉換爲「CI-In-Progress」。
我寫的代碼如下,任何小寫或「CI」的模式,後跟一個大寫,都會在中間加上「 - 」。但它仍然不能用於「CIInProgress」。任何人都可以告訴我如何改正它?
String str;
String pattern = "([a-z|CI]+)([A-Z])";
str= str.replaceAll(pattern, "$1\\-$2");
你必須明白,一個字符類是隻有字符的集合,而不是字符串的集合。 '[A | BC]'表示「A」或「|」或「B」或「C」,與「[B | CA]」或「[| CBA]」相同' – 2014-08-28 01:37:21