文字列を置き換える必要があります:
"abc.T.T.AT.T"
すべて singleT
をTOT
likeに置き換える文字列に
"abc.TOT.TOT.AT.TOT"
strings.replaceAll
これには機能しません。
周りを見回すと問題が解決します:
s.replaceAll("(?<=\\.|^)T(?=\\.|$)", "TOT");
もしあなたがそうするなら:
String s = "T.T.T.AT.T.fT.T.T";
System.out.println(s.replaceAll("(?<=\\.|^)T(?=\\.|$)", "TOT"));
出力は次のようになります。
TOT.TOT.TOT.AT.TOT.fT.TOT.TOT
String input = "abc.T.T.AT.T";
StringTokenizer st = new StringTokenizer(input,".");
StringBuffer sb = new StringBuffer();
while(st.hasMoreTokens()){
String token = st.nextToken();
if(token.equals("T")){
token= token.replace("T", "TOT");
}
sb.append(token+".");
}
if(!(input.lastIndexOf(".")==input.length()-1))
sb.deleteCharAt(sb.lastIndexOf("."));
System.out.println(sb.toString());
これがあなたが必要とするものであることを願っています....