Java 如何使用正则表达式仅删除单词之间的空格,而不删除数字或特殊字符之间的空格?
我有一根这样的绳子Java 如何使用正则表达式仅删除单词之间的空格,而不删除数字或特殊字符之间的空格?,java,android,regex,pattern-matching,space,Java,Android,Regex,Pattern Matching,Space,我有一根这样的绳子 ab cd 1234567 1234567 ef gh 1234567 1234567 ij kl - - - - abcd 1234567 1234567 efgh 1234567 1234567 ijkl - - - - 我希望输出像这样 ab cd 1234567 1234567 ef gh 1234567 1234567 ij kl - - - - abcd 1234567 1234567 efgh 1234567 1234567 ijkl - - - - 如
ab cd 1234567 1234567 ef gh 1234567 1234567 ij kl - - - -
abcd 1234567 1234567 efgh 1234567 1234567 ijkl - - - -
我希望输出像这样
ab cd 1234567 1234567 ef gh 1234567 1234567 ij kl - - - -
abcd 1234567 1234567 efgh 1234567 1234567 ijkl - - - -
如何做到这一点?目前,我正在使用以下,它不工作
result = result.trim().replaceAll("(\\w)(\\s+)([\\.,])", "");
谢谢。我想这个模式适合你
/(?删除您可能使用的ASCII字母之间的所有空白
result = result.trim().replaceAll("(?<=[A-Za-z])\\s+(?=[A-Za-z])", "");
result = result.trim().replaceAll("(?<=\\p{L})\\s+(?=\\p{L})", "");
result=result.trim()
这是未经测试的,在这里用文本编码,因此您可能需要调整它,但您得到了图片
String myString = 'ab cd 1234567 1234567 ef gh 1234567 1234567 ij kl - - - -'
//break it up into array split by space
String[] chunks = myString.split(" ")
StringBuilder sb = new StringBuilder();
Int x = 0
while (x < chunks.length)
{
if(isNumeric(chunks[x])){
//if num add space back
sb.append(chunk[x]).append(" ")
}else if(x < chunks.length - 1 && !isNumeric(chunks[x + 1])){
//if it's string & next value is also a string
sb.append(chunk[x])
}else{
//if it's a string, but next is numeric, we need space
sb.append(chunk[x]).append(" ")
}
x++;
}
//convert back to string with space between letters removed
String correctedString = builder.toString().trim();
String myString='ab cd 1234567 1234567 ef gh 1234567 1234567 ij kl--'
//将其拆分为按空间分割的数组
String[]chunks=myString.split(“”)
StringBuilder sb=新的StringBuilder();
Int x=0
while(x
TryreplaceAll(“(?谢谢,第一个有效-第二个抛出此错误-java.util.regex.PatternSyntaxException:索引3附近的regexp模式中的语法错误W/System.err:(?U)(?对不起,是的,这是Android,您不需要告诉它的regex识别Unicode,它已经识别Unicode。在java中,您必须添加(?U)<代码> > <代码> >代码>可以匹配所有Unicode白皮书。很高兴它对你有用。如果我的答案对你有帮助(并且所有其他答案都是有用的),请考虑一下投票。