1
私は人の平均給与を計算し、毎月の控除額をテンプレートに印刷するJavaプログラムを作成しています。テンプレートはこのようなものです:次のテンプレートにはどのような種類の正規表現を使用しますか?
==============BILL==============
| NAME: xXxX BRANCH : xxx |
| |
| Month 1 : xxx.xxx |
| Month 2 : xxxx.xx |
| <other Months> |
| Month 12 : xxx.xx |
| |
| TOTAL : ____________ |
================================
私は要素を試してみて、キャプチャするために、次のパターンを使用しています:
//template is stored in string.
String[] lines = msg.split("\n");
Pattern p = Pattern.compile("[xX\\._]+");
for(String line : lines){
Matcher m = p.matcher(line);
if(m.find()){
System.out.println(m.group());
}
else{
System.out.println("no match found...");
}
}
私は取得しています出力はこのようなものです:
xXxX
xxx.xxx
xxxx.xx
xxx.xx
____________
しかし、私はブランチの 'xxx'に一致することができません。どのようにそのパターンを抽出するのですか?
ありがとうございました!ちょっとしたフォローアップの質問 - これらの一致するトークンをどのように置き換えるのですか?私はRegExには比較的新しいので、嫌な音が出たら私を許してください –
'stringToAlter.replace(m.group()、" WhateverAlterContent ")'; – Antoniossss
以下は正しい方法ですか? for(...){ if(line [i] .contains( "somePattern")){ line [i] = line [i] .replace(m.group()、 "myReplacement"); } } –