正規表現の使用例
1989 ワード
』』』では、次の数字のペアを分析します.
asf123,343asdf
af1234 ,555asdf
as5556, 88fsda
666 , 9999
dfd666ff,ffff9999fdd
dfd666 ,ffff9999fdd
コード:
String dataText = "asf123,343asdf/r/n af1234 ,555asdf/r/n s5556, 88fsda/r/n 666 , 9999/r/n dfd666ff,ffff9999fdd/r/n dfd666 ,ffff9999fdd";
Pattern p = Pattern.compile("(\\d+)[ \t]*,[ \t]*(\\d+)");
Matcher m = p.matcher(dataText);
while (m.find()) {
System.out.println(StringUtil.toInt(m.group(1)) + "," + StringUtil.toInt(m.group(2)));
}
結果:
666,9999
>>Javaコードのaaaを置換String()からStrUtil.toStr(aaa)
dayVo = new DayVo(dSales.toString(), dGm.toString(), dNgm
.toString(), dOplgm.toString(), dTgm.toString());
wTDVo = new WTDVo(wSales.toString(), wGm.toString(), wNgm
.toString(), wOplgm.toString(), wTgm.toString());
mTDVo = new MTDVo(mSales.toString(), aveMSales.toString(), mGm
.toString(), mNgm.toString(), mOplgm.toString(), mTgm
.toString());
aaaを検索toString()正規表現
(\w+)\s*.toString\(
StrUtilを置換します.toStr(aaa)正規表現
StrUtil.toStr\(\1
ここでは1で最初のキャプチャグループを取り、複数ある場合は2,3.....取りに来ます.
置換後のコード:
dayVo = new DayVo(StrUtil.toStr(dSales), StrUtil.toStr(dGm), StrUtil.toStr(dNgm), StrUtil.toStr(dOplgm), StrUtil.toStr(dTgm));
wTDVo = new WTDVo(StrUtil.toStr(wSales), StrUtil.toStr(wGm), StrUtil.toStr(wNgm), StrUtil.toStr(wOplgm), StrUtil.toStr(wTgm));
mTDVo = new MTDVo(StrUtil.toStr(mSales), StrUtil.toStr(aveMSales), StrUtil.toStr(mGm), StrUtil.toStr(mNgm), StrUtil.toStr(mOplgm), StrUtil.toStr(mTgm));