Java正则表达式,用字符替换由数字包围的所有空格
我想用Java正则表达式,用字符替换由数字包围的所有空格,java,regex,Java,Regex,我想用-替换数字或数字包围的空格 因此,如果我的字符串是我是Bob 12,则应将其转换为我是Bob 12-12 请使用Javastr=str.replaceAll((?非regexp解决方案)建议一些可能的答案: str = str.replaceAll("(?<=\\d)\\s(?=\\d)", "-"); String in = "I am Bob 12 12"; int last = in.length()-1; StringBuilder resultBuilder = new
-
替换数字或数字包围的空格
因此,如果我的字符串是我是Bob 12
,则应将其转换为我是Bob 12-12
请使用Java
str=str.replaceAll((?非regexp解决方案)建议一些可能的答案:
str = str.replaceAll("(?<=\\d)\\s(?=\\d)", "-");
String in = "I am Bob 12 12";
int last = in.length()-1;
StringBuilder resultBuilder = new StringBuilder();
resultBuilder.append(in.charAt(0)); // assumes, the String has at least one char
for (int i = 1; i < last-1; i++) {
if (in.charAt(i) == ' ' &&
Character.isDigit(in.charAt(i-1)) &&
Character.isDigit(in.charAt(i+1))) {
resultBuilder.append('-');
} else {
resultBuilder.append(in.charAt(i));
}
}
resultBuilder.append(in.charAt(last));
// System.out.println(resultBuilder);
String in=“我是鲍勃12”;
int last=in.length()-1;
StringBuilder resultBuilder=新建StringBuilder();
resultBuilder.append(in.charAt(0));//假设字符串至少有一个字符
for(int i=1;i
当一个正则表达式解决方案非常合适、易于阅读且只需一行代码时,你究竟为什么想要一个需要十几行代码且可读性不强的“非正则表达式”解决方案?Boo!;)可读性值得(单独)就我个人而言,我讨厌查看未记录的regexp并试图找出作者到底想告诉我们什么,以及为什么它不适用于我的示例字符串:D