4

2文字ごとに文字列を分割したい。

例えば:

String aString= "abcdef"

分裂後も持ちたい"ab cd ef"

どうすればできますか?

ありがとう :)

4

10 に答える 10

6

出力を余分なスペースを含む同じ文字列にしたい場合は、次のように単純に使用できます。

String newString = aString.replaceAll("(..)", "$1 ")
于 2013-08-01T12:16:26.947 に答える
1
String aString= "abcdef";       
int partitionSize=2;
for (int i=0; i<aString.length(); i+=partitionSize)
{
    System.out.println(aString.substring(i, Math.min(aString.length(), i + partitionSize)));
}
于 2013-08-01T12:30:22.733 に答える
1

これを試して

    String[] a = "abcdef".split("(?<=\\G..)");
    System.out.println(Arrays.asList(a));

出力

[ab, cd, ef]
于 2013-08-01T12:31:48.943 に答える
0
public static void main(String[] args) {

    String st = "abcdefg";
    ArrayList<String> array = new ArrayList<String>();

    int i = 0;
    while(i<st.length())
    {
        int j=i+2;
        if(j>st.length())
            j=st.length();
        array.add(st.substring(i,j));
        i=j;
    }

    System.out.println(array);

}
于 2013-08-01T12:21:17.280 に答える
0

これもやってみる

    String aString= "abcdef";
    String[] arr=aString.split("(?<=\\G.{2})");
于 2013-08-01T12:32:27.497 に答える
0

ここのように簡単にできます:

    String k = "sdfjsdf";
    String s = "";
    for (int i=0;i<k.length();i++){
        s+=k.charAt(i);
        if (i%2 != 0){
            s+=" ";
        }
    }
于 2013-08-01T12:17:31.440 に答える
0
String s = "teststr";
StringBuilder tmp = new StringBuilder();

for (int i = 0; i < s.length(); i++) {
    tmp.append(s.charAt(i));
    if (i % 2 == 1) tmp.append(" ");
}

System.out.println(tmp.toString());
于 2013-08-01T12:18:29.010 に答える