我想知道使用正则表达式是否可行,还是应该将其拆分为char数组并执行循环?
在他们输入的字符串中,每(x)个字符(由用户指定)插入一个空格。
例如:它们具有字符串“oogabooga”。
他们首先要每2个字符插入一个空格,他们会得到“oo ga bo og a”。
然后他们重新启动程序,并希望每4个字符有一个空格,那么他们会得到“ooga boog a”
(我已经有代码可以工作,但是无法将正则表达式输入int,我该怎么做?)
谢谢您的帮助。我已经搜索了很长时间了。
最佳答案
如果您使用的是regex,则在replace部分中需要使用如下所示的regex进行反向引用:
.{n}
其中
n
是字符数,并替换为$0
($0
是反向引用,将引用匹配部分)。String in = "oogabooga";
String val = "2"; // use 4 here to insert spaces every 4 characters
String result = in.replaceAll("(.{" + val + "})", "$1 ").trim();
System.out.println(result);
ideone demo