4

文字列を置き換える必要があります:

"abc.T.T.AT.T"

すべて singleTTOTlikeに置き換える文字列に

"abc.TOT.TOT.AT.TOT"

strings.replaceAllこれには機能しません。

4

3 に答える 3

8

周りを見回すと問題が解決します:

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
于 2013-04-29T11:15:29.243 に答える
1
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());

これがあなたが必要とするものであることを願っています....

于 2013-04-29T11:12:20.133 に答える