正则表达式如何表示若干个空格?我想用正则表达式过滤掉空字符串,用“”方法没用,求解。如果一段文本是

正则表达式如何表示若干个空格?我想用正则表达式过滤掉空字符串,用“”方法没用,求解。如果一段文本是不一定几个空格的话,如何过滤?

\s* 表示若干个空格(可以是0个)。

\s+ 表示一个或多个空格

public class Test {
public static void main(String[] args) {

String str = "  kk kkk klaf    fsaff fsge tg sagh ger fsaga   ";
//测试的字符串

String regex = "\\s+";
//表示一个或多个空格的正则表达式

str = str.trim();
//去掉字符串开头和结尾的空格

String str1 = str.replaceAll(regex, "");
//去掉所有的空格

String str2 = str.replaceAll(regex, " ");
//把一个或多个空格替换成一个空格

System.out.println(str);
System.out.println(str1);
System.out.println(str2);
}
}

输出结果如下:

kk kkk klaf    fsaff fsge tg sagh ger fsaga
kkkkkklaffsafffsgetgsaghgerfsaga
kk kkk klaf fsaff fsge tg sagh ger fsaga

追答

我在网页版的知道上给你写了大概二十行的代码,在手机知道上居然没有看到。不知道你看到了没有。其实我不太理解你的意思,我是按我的思路写的。你可以描述清楚点或追问。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-03-09

作为新手也被这个问题困惑了一会儿,其实很简单,+字符跟着空格就可以表示若干个空格了,只要把我下图的修改变成什么都不输入就可以把空格全删除了,/s(注意这里的s是小写的)可以匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。    

这里我把1234个空格均识别出来改成了z

第2个回答  2014-11-24
\s 表示空白字符。包括,空格,制表符等
“ ”只表示空格。
\s+ 可匹配至少一个空白字符。
[ ]+ 只表示多个空格。
第3个回答  2021-01-22

第4个回答  2018-05-07
/^(?!\s).{0,24}[^\s]$/
不能为空,且不能少于25字符串
相似回答