簡體   English   中英

n個字符之后以及之后的每n-1個字符之后的空格

[英]Whitespace after n character and after every n-1 character following

我試圖創建一個正則表達式,以在字符串的n第一個字符后添加一個空格,然后在每個n-1個字符后添加另一個空格,如下所示:

AZEOHNUEAOONA => AZEO HNU EAO ONA

MAIH31354ZEHIA212AE => MAIH 313 54Z EHI A21 2AE

有人可以幫我嗎? 我嘗試過在線搜索類似的問題,但是很難在搜索中正確地表達它的意思。

編輯:我使用Java 8

嘗試以下方法:)

class Sample {
    public static void main(String args[]){
        System.out.println(addSpaces("AZEOHNUEAOONA",4));
    }
    public static String addSpaces(String str,int n)
    {
        String reg = "(?<=.{" + n + "})(?=(.{"+ (n-1) + "})+$)";
        String rep = "$0 ";
        return str.replaceAll(reg,rep);
    }
}

輸出:

AZEO HNU EAO ONA

最簡單的方法是僅對問題的一部分使用正則表達式。 因此,基本上,您可以拆分字符串,方法是先獲取前n字符,然后對其余字符使用正則表達式。

所以基本上,像這樣:

    int n = 4;
    String str = "FOOOFOOFOOFOOFOO";
    String part1 = str.substring(0, n);
    String part2 = str.substring(n, str.length());
    System.out.println(part1 + " " + part2.replaceAll("(.{3})", "$1 ").trim());

產量:

FOOO FOO FOO FOO FOO

暫無
暫無

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

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