簡體   English   中英

將字符串字符分組為給定長度

[英]Group string characters into a given length

我編寫了一個簡單的代碼,將某個字符串分組為N個長度,然后將其打印到控制台上,在該控制台中,字符組除以“ |” 字符。 有沒有更簡單的方法可以做到這一點? 順便說一句,這是我的代碼。

String d = "stackoverflow.com";
char[] x = d.toCharArray();
StringBuilder ad = new StringBuilder();
int r = 0;
int f = 6;
/*
f = 1; 2 characters by group
f = 2; 3 characters by group
...
f = n; (n+1) characters by group
*/
for (char a : x) {
    if (r == f) {
        ad.append(a);
        System.out.print(ad+"|");
        ad.delete(0, 1);
    } else {
        ad.append(a);
        r++;
    } 
}

輸出為(f = 6)

stackov|tackove|ackover|ckoverf|koverfl|overflo|verflow|erflow.|rflow.c|flow.co|low.com|

如果將System.out包裝在PrintWriter ,則可以使用PrintWriter.write的重載來打印字符串的一部分:

PrintWriter pw = new PrintWriter(System.out, true);
for (int i = 0; i <= d.length() - f; ++i) {
  pw.write(d, i, f);
  pw.print('|');
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM