今天遇到一个字符串,怎么匹配空格都不成功!!!

我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!!

查了一下    \s    不支持全角

1、"\s"匹配的是哪一种空格?

正则表达式中\s匹配任何空白字符,包括空格、制表符、换页符等等;中文全角空格

\s 并不能匹配中文全角空格。

\s 只能匹配下面六种字符(详见 java.util.regex.Pattern 的 API DOC):

  1.   半角空格( )
  2.   水平制表符(\t)
  3.   竖直制表符
  4.   回车(\r)
  5.   换行(\n)
  6.   换页符(\f)

java代码中的转义   \\s

正则匹配0个或多个空格,我是这样写的  \\s*

正则匹配一个或多个空格,我是这样写的  \\s+

2、如何匹配全角空格

正则可以这么写:"[\\s\\p{Zs}]+" , 注意java代码中的转义。

3、测试

我的测试例子:

package com.test;

public class zhengze {
/**
* 替换多个<br>成单个<br>
* @param args
*/
public static void main(String[] args) {
String str1= "...中间省略很多...<br>    <br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br><br>    <br>   <br> <br>";
String pattern = "<br>(\\s*<br>)+";
System.out.println("\\s* 替换的结果:");
System.out.println(str1.replaceAll(pattern,"<br>")); String str2= "...中间省略很多...<br>    <br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br><br>    <br>   <br> <br>";
String new_pattern = "<br>([\\s\\p{Zs}]*<br>)+";
System.out.println("[\\s\\p{Zs}]* 替换的结果:");
System.out.println(str2.replaceAll(new_pattern,"<br>")); }
}

结果:

\s* 替换的结果:
...中间省略很多...<br>    <br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br>    <br>   <br>
[\s\p{Zs}]* 替换的结果:
...中间省略很多...<br>想到自己煮花生仁汤这么简单~赶紧动手试试吧!<br>

  

关于JAVA正则匹配空白字符的问题(全角空格与半角空格)的更多相关文章

  1. 关于JAVA正则匹配空白字符的问题

    今天遇到一个字符串,怎么匹配空格都不成功!!! 我把空格复制到test.properties文件 显示“\u3000” ,这是什么? 这是全角空格!!! 查了一下    \s    不支持全角 1.& ...

  2. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  3. java 正则匹配空格字符串 正则表达式截取字符串

    java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...

  4. Java 全角字符转半角字符

    1.java代码里有时候会遇到代码注入的安全问题,为了防止这种问题,增加了一个过滤功能.主要是过滤全角字符,把url不能识别的全角字符转换成半角字符 public class Test { publi ...

  5. C#全角转换成半角并检查

    新建一个项目quanbanjiao,在此项目下新建一个类Class1 using System; using System.Web; using System.Text; namespace quan ...

  6. php全角字符转换为半角函数

    <?php /** * 全角字符转换为半角 * * @param string $str * @return string public function Sbc2Dbc($str) { $ar ...

  7. php全角字符转换为半角函数 实例代码

    PHP全角半角转换函数,把目前能找到的所有全角都列出来了一个个替换吧. 之前试过网上找的通过ASCII之类的字符替换,发现很多莫名其妙的问题.最后还是换成下面的字符替换方式了,把目前能找到的所有全角都 ...

  8. iOS全角符与半角符之间的转换

    iOS全角符与半角符之间的转换 相关资料: 函数『CFString​Transform』中文 详情: 问题 1.17-03-15,「有人在群里边问怎么把『半角』符字符串转换成『全角』字符串?」,百度的 ...

  9. js全角字符转为半角字符

    //全角转半角 function CtoH(str){ var result=""; for (var i = 0; i < str.length; i++){ if (st ...

随机推荐

  1. python2.7入门---运算符 &案例

        已经分享过变量类型的基本概念了,接下来就研究了一下运算符的基础知识.接下来我们就来看一下内容.举个简单的例子 4 +5 = 9 .例子中,4 和 5 被称为操作数,"+" ...

  2. C++11中Lambda的使用

    Lambda functions: Constructs a closure, an unnamed function object capable of capturing variables in ...

  3. Python: 列表的两种遍历方法

    方法一:以列表中元素的下标进行访问 def traverse1(list1): for i in range(len(list1)): print(list1[i], end=' ') print() ...

  4. hibernate 各历史版本下载 spring各历史版本下载

    hibernate 各历史版本下载http://sourceforge.net/projects/hibernate/files/ spring各历史版本下载http://www.springsour ...

  5. IOException: win32 io returned 267. Path:

    unity3d在导出android项目时出现了这个错误,找了一圈也没找到原因,最后把项目名中空格去掉后OK了,坑啊!!!!

  6. Git 上传本地仓库到码云

    一.将本地的项目上传到码云 1.码云上创建一个项目 testgit (名字随你) 2.本地创建一个文件夹D:/testgit,然后使用git bash 3.cd 到本地文件夹中D:/testgit 4 ...

  7. python基础训练营02

    任务二 时长:2天 1. 列表 a. 标志 b. 基本操作(创建,append( ),pop( ) ,del( ), 拷贝) c. 列表相关方法 2. 元组 a. 标志 b. 基本操作(创建及不可变性 ...

  8. TF-IDF与主题模型 - NLP学习(3-2)

    分词(Tokenization) - NLP学习(1) N-grams模型.停顿词(stopwords)和标准化处理 - NLP学习(2) 文本向量化及词袋模型 - NLP学习(3-1) 在上一篇博文 ...

  9. SPOJ 375 Query on a tree(树链剖分)(QTREE)

    You are given a tree (an acyclic undirected connected graph) with N nodes, and edges numbered 1, 2, ...

  10. Linux nohup 后台运行命令

    有一些爬虫的程序需要在后台运行,所以简单总结了一下nohup 的一些用法 基本命令:nohup command  $; 运行之后出现nohup: ignoring input and appendin ...