1

私は文字列を扱っています、

30-Nov-2012 30-Nov-2012 United Kingdom, 31-Oct-2012 31-Oct-2012 United Arab Emirates, 29-Oct-2012 31-Oct-2012 India 

4桁の数字の後にスペースが表示されるたびに、スペースを追加する必要があります。

30-Nov-2012@30-Nov-2012@United Kingdom, 31-Oct-2012@31-Oct-2012@United Arab Emirates, 29-Oct-2012@31-Oct-2012@India 

正規表現の書き方がわかりません。助けてください。

4

2 に答える 2

1

正規表現の書き方がわからないので、正規表現の使い方を学ぶのが最善の策です。

これはかなり良いチュートリアルです。

http://www.vogella.com/articles/JavaRegularExpressions/article.html

書きたい表現はそれほど複雑ではないようです。このチュートリアルを完了すると、それを実行できるようになります。

編集:ここに別のヒントがあります。replaceAllを見てください

また、前向きな後ろ姿を見てください

Edit2:退屈しているので、ここに答えがあります。

string.replaceAll("(?<=\\d{4})\\s", "@");
于 2012-10-31T07:12:24.867 に答える
1

この正規表現を試してください:

(\d{4})\s+

と置換する

$1@

およびサンプルコード:

String result = inputString.replaceAll("(\\d{4})\\s+", "$1@");

説明:

\d 任意の10進数に一致します。

{n} 前の要素と正確に一致しnます。

\swhite-space任意の文字に 一致します。

+ 前の要素と1回以上一致します。

(subexpression) 一致した部分式をキャプチャし、それにゼロベースの序数を割り当てます。

$ number グループ番号と一致する部分文字列を置き換えます。

于 2012-10-31T07:36:18.397 に答える