`
喧嚣求静
  • 浏览: 572674 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java正则表达替换中文标点和空格及数字

    博客分类:
  • java
阅读更多
package com.test;

import java.util.regex.Pattern;

public class StringUtils {
	
	/**匹配&或全角状态字符或标点*/
    public static final String PATTERN="&|[\uFE30-\uFFA0]|‘’|“”";
  
	public static String replaceSpecialtyStr(String str,String pattern,String replace){
		if(isBlankOrNull(pattern))
			pattern="\\s*|\t|\r|\n";//去除字符串中空格、换行、制表
		if(isBlankOrNull(replace))
			replace="";
		return Pattern.compile(pattern).matcher(str).replaceAll(replace);
		
	}
	public static boolean isBlankOrNull(String str){
		if(null==str)return true;
		//return str.length()==0?true:false;
                   return str.length()==0;
	}
	
	/**清除数字和空格*/
	public static  String cleanBlankOrDigit(String str){
		if(isBlankOrNull(str))return "null";
		return Pattern.compile("\\d|\\s").matcher(str).replaceAll("");
	}

	
	/**
	 * Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

	/pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

	大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。\\pP‘’“”]",如果在 JDK 5 或以下的环境中,全角单引号对、双引号对

	其他六个是
	L:字母;
	M:标记符号(一般不会单独出现);
	Z:分隔符(比如空格、换行等);
	S:符号(比如数学符号、货币符号等);
	N:数字(比如阿拉伯数字、罗马数字等);
	C:其他字符
	 * 
	 * */
	public static void main(String[] args){
		
		System.out.println(replaceSpecialtyStr("中国电信2011年第一批IT设备集中采购-存储备份&(),)(UNIX服务器",PATTERN , ""));
		
	}
}



摘抄:
str = str.replaceAll("[\\pP‘’“”]", "");


Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。

其他六个是

L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符

上面这七个是属性,七个属性下还有若干个子属性,用于更进一步地进行细分。

Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。

Unicode 正则表达式标准(可以找到所有的子属性)
http://www.unicode.org/reports/tr18/

各 Unicode 字符属性的定义,可以用一看看某个字符具有什么属性。
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性,
以及其他一些字符信息。

0
4
分享到:
评论
3 楼 喧嚣求静 2012-08-08  
JetMah 写道
return str.length()==0?true:false;  

这代码写的真别扭,直接
return str.length()==0;不就好了

hi,JetMah,多谢多指点,已更新
2 楼 JetMah 2012-08-08  
return str.length()==0?true:false;  

这代码写的真别扭,直接
return str.length()==0;不就好了
1 楼 linzx0212 2012-08-08  
收了,谢谢……

相关推荐

    正则表达式只可以输入只允许输入中文、数字、字母、下划线

    以上示例代码均演示了如何使用正则表达式检查一个字符串是否仅包含中文、数字、字母和下划线。 #### 五、总结 通过本文的介绍,我们可以了解到正则表达式是处理文本的强大工具之一。对于特定的需求,比如本例中的...

    正则表达式列举 代码 项目中直接使用

    正则表达式是一种强大的文本处理工具,用于模式匹配、搜索、替换等操作,在软件开发、数据处理、网络爬虫等领域有着广泛的应用。在项目中直接使用正则表达式可以极大地提高代码的效率和可读性。以下是对给定文件中的...

    Java正则表达式入门

    Java正则表达式是Java语言中处理字符串匹配、查找、替换等操作的重要工具。自Java 1.4版本起,Java引入了`java.util.regex`包,为开发者提供了丰富的正则表达式支持。正则表达式是一种特殊的字符序列,它可以描述一...

    使用正则表达式验证中文汉字输入

    在JavaScript、Python、Java等语言中,我们可以构建以下正则表达式来匹配中文汉字: 1. 匹配GB2312编码范围内的汉字: ```regex /[\uB0A1-\uF7FE]/ ``` 2. 匹配GBK编码范围内的汉字: ```regex /[\u8140-\...

    java 正则表达式 详细讲义

    ### Java正则表达式详细解析 #### 一、引言 在Java开发中,正则表达式的应用极为广泛,从简单的文本格式验证到复杂的文本处理和检索任务,它都能发挥重要作用。本文旨在全面介绍Java中正则表达式的使用方法及技巧...

    JAVA—正则表达式.docx

    ### JAVA正则表达式知识点详解 #### 一、正则表达式基础概念 正则表达式(Regular Expression)是一种强大的文本处理工具,在Java编程中广泛应用于字符串搜索与替换、格式验证等方面。它允许用户通过一系列简短的...

    java正则表达式

    ### Java正则表达式知识点详解 #### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索、替换等操作。Java中的正则表达式支持丰富的语法和特性,可以高效地进行模式...

    java正则表达式速查手册

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员高效地进行文本匹配、搜索和替换操作。本速查手册旨在提供全面的Java正则表达式相关知识,帮助开发者快速理解和运用。 一、Java正则表达式...

    java 正则表达式语法

    本文基于一份2012年的资料,详细介绍了Java正则表达式的基本语法、字符类、预定义字符类、POSIX字符类、Java字符类型以及Unicode块和类别的类,并通过具体的例子来解释这些语法的应用。 #### 二、基本概念 正则...

    java正则表达式语法实例下载

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本提取、数据清洗等。本资源包含了一系列Java正则...

    java正则表达式笔记

    Java中的正则表达式是一种强大的文本处理工具,它允许我们通过模式匹配来搜索、替换或者提取字符串中的特定信息。在Java中,正则表达式主要通过`java.util.regex`包来实现。本笔记将深入探讨正则表达式的基础概念、...

    正则表达式

    1. 字符:正则表达式可以包含任何文本字符,如字母、数字和标点符号。 2. 量词:`*`表示零个或多个前一个字符,`+`表示一个或多个,`?`表示零个或一个,`{n}`表示精确匹配n次,`{n,}`表示至少n次,`{n,m}`表示n到m次...

    替换特殊字符撤柜本身加空格

    在探讨“替换特殊字符撤柜本身加空格”的主题时,我们主要关注的是Java编程语言中的`replaceAll`方法,这是处理字符串中特定模式的强大工具。`replaceAll`是`String`类的一个成员方法,用于替换字符串中所有匹配正则...

    java代码-用正则去除文本中的英文字母,去除英文句子, 去除代码

    在Java编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它可以用来匹配、查找、替换等操作。在给定的标题和描述中,我们关注的重点是使用正则表达式来去除文本中的英文字母和英文句子,以及可能...

    java替换字符串中的符号

    在Java中使用正则表达式进行字符串操作时,理解和运用Unicode属性表达式可以极大地扩展我们的能力,使我们能够更精确地匹配和替换特定类别的字符。通过上述示例,我们可以看到,使用`[\\pP]`这样的表达式,可以有效...

    java去除空格、标点符号的方法实例

    若要清除所有符号,只留下字母数字汉字,可以将标点和Unicode标点类合并进行匹配。 ```java String stri4 = stri.replaceAll("[\\pP\\p{Punct}]", ""); System.out.println(stri4); ``` 3. replace与replaceAll的...

    正则表达式(PPT)

    字符包括普通字符(如字母、数字)和特殊字符(如空格、标点符号)。元字符有特殊含义,例如`.`代表任意字符,`^`表示行首,`$`表示行尾,`\d`代表数字等。量词如`*`、`+`、`?`用于控制匹配次数,分别表示零次或多次...

Global site tag (gtag.js) - Google Analytics