[英]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.