`
marc0658
  • 浏览: 77832 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

eclipse中搜索替换所有中文字符

 
阅读更多

今天遇到一个需求,要求把项目中的所有中文字符清除。虽然我们平时开发不用中文,但不能保证一定就没有中文字符出现。

一个一个文件查找,此法不可取,原因有2:

1,工作量很大,

2,有些符号字符,中文和英文差别很小,在代码中把":", " :" 这样的符合找出来几乎很难办到。

 

在网上看到一个兄弟写了一个正则来匹配中文。这帮了我很大的忙,因为我知道eclipse支持正则。

这样很容易 通过 CTRL+H   输入 [^/x00-/xff] 包括方括号 就把所有的中文字符找出来了,很方便吧!

 

以下是转载:

 

常用正则表达式
  正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

匹配双字节字符(包括汉字在内):[^/x00-/xff]

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;}

匹配空行的正则表达式:/n[/s| ]*/r

匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/

匹配首尾空格的正则表达式:(^/s*)|(/s*$)


匹配中文字符的正则表达式: [/u4e00-/u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^/x00-/xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

匹配空白行的正则表达式:/n/s*/r
评注:可以用来删除空白行

匹配HTML标记的正则表达式:<(/S*?)[^>]*>.*?<//1>|<.*? />
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

匹配首尾空白字符的正则表达式:^/s*|/s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
评注:表单验证时很实用

匹配网址URL的正则表达式:[a-zA-z]+://[^/s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求

匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用

匹配国内电话号码:/d{3}-/d{8}|/d{4}-/d{7}
评注:匹配形式如 0511-4405222 或 021-87888822

匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

匹配中国邮政编码:[1-9]/d{5}(?!/d)
评注:中国邮政编码为6位数字

匹配身份证:/d{15}|/d{18}
评注:中国的身份证为15位或18位

匹配ip地址:/d+/./d+/./d+/./d+
评注:提取ip地址时有用

匹配特定数字:
^[1-9]/d*$    //匹配正整数
^-[1-9]/d*$   //匹配负整数
^-?[1-9]/d*$   //匹配整数
^[1-9]/d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]/d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]/d*/./d*|0/./d*[1-9]/d*$   //匹配正浮点数
^-([1-9]/d*/./d*|0/./d*[1-9]/d*)$  //匹配负浮点数
^-?([1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0)$  //匹配浮点数
^[1-9]/d*/./d*|0/./d*[1-9]/d*|0?/.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]/d*/./d*|0/./d*[1-9]/d*))|0?/.0+|0$  //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:
^[A-Za-z]+$  //匹配由26个英文字母组成的字符串
^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
^/w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

 

 

转载2

 

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。

匹配中文字符的正则表达式: [/u4e00-/u9fa5]

匹配双字节字符(包括汉字在内):[^/x00-/xff]

应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;}

匹配空行的正则表达式:/n[/s| ]*/r

匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/

 

匹配首尾空格的正则表达式:(^/s*)|(/s*$)

 

String.prototype.trim = function()
{
    return this.replace(/(^/s*)|(/s*$)/g, "");
}

利用正则表达式分解和转换IP地址:

下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:

function IP2V(ip)
{
 re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g  //匹配IP地址的正则表达式
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
 throw new Error("Not a valid IP address!")
}
}

不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))

匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?

利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复]

var s="abacabefgeeii"
var s1=s.replace(/(.).*/1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"") 
alert(s1+s2)  //结果为:abcefgi

我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。

得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1

s="http://www.9499.net/page1.htm"
s=s.replace(/(.*//){0,}([^/.]+).*/ig,"$2")
alert(s)

利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中 文:onkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"

用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"

用正则表达式限制只能输入数 字:onkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"

用正则表达式限制只能输入数字和英 文:onkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"

分享到:
评论
1 楼 latent 2012-08-14  
我 Ctrl + H 怎么查呀? 求解呀

相关推荐

    org.eclipse.jface.text_3.8.101.v20130802-1147去除字符串上屏

    org.eclipse.jface.text_3.8.101.v20130802-1147去除使用空格和“;”字符串上屏

    MyEclipse2017 eclipse 空格上屏 替换为TAB键上屏

    增强MyEclipse(或eclipse)代码提示后, 虽然可以输入任意字符均给出代码提示, 但空格键(以及等号和分号)上屏实在太难受了. 使用这里提供的jar包替换原来的包可以解决此问题. 食用方法如下(eclipse使用方法一样): 1.在...

    MyEclipse2018 eclipse 空格上屏 替换为TAB键上屏

    增强MyEclipse(或eclipse)代码提示后, 虽然可以输入任意字符均给出代码提示, 但空格键(以及等号和分号)上屏实在太难受了. 使用这里提供的jar包替换原来的包可以解决此问题. 食用方法如下(eclipse使用方法一样): 感谢...

    eclipse插件 创建java web增量更新包

    1、eclipse (eclipse 4.0以上) 2、版本管理用的svn 3、项目存在于eclipse工作空间下 二、使用方法 1、将下载的jar 放入eclipse\dropins下 2、重启eclipse 菜单栏会出现 打包 字样 3、填写svn用户和密码 4、点击...

    Eclipse取消按空格自动上屏的jar包

    当你把Eclipse的自动间隔设置为50毫秒,并且增加了自动提示的字符后,编程时,如果有提示的话,你一按空格,第一行的内容就被写入到屏幕上了,但这并不好,有的时候你只是想输入一个空格,幸运的是,我们可以自定义...

    eclipse快捷键大全

    该文档中收录eclipse使用中我们常用和不常用的快捷键,熟练后对你写程序相当的快捷。

    Eclipse权威开发指南2.pdf

    2.4.3 在Eclipse中运行多窗口和多工作空间..... 51 2.4.4 改变键盘快捷键..... 54 2.4.5 定制JRE... 55 2.4.6 在Eclipse中使用其他计算机程序..... 55 2.4.7 性能..... 60 2.5 练习概述...... 61 2.6 本章小结.......

    gcsearch:Eclipse 的谷歌代码搜索插件

    搜索引擎 该项目的目的是提供直观的界面,用于直接从您可爱的 Eclipse IDE 中通过 Google 代码搜索... 目标 URL - 表示包含源代码的文件的 URL 的替换字符串。 该字符串可能包含以下占位符: %FILE% - 搜索结果文件

    Eclipse权威开发指南3.pdf

    2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面..... 22 2.2.3 任务、书签和问题..... 28 2.2.4 后台处理..... 29 2.2.5 Eclipse的帮助功能..... 30 2.3 资源管理...... 36 2.3.1 工作空间....

    Eclipse权威开发指南1.pdf

    2.2.1 在Eclipse中工作..... 21 2.2.2 了解Eclipse用户界面..... 22 2.2.3 任务、书签和问题..... 28 2.2.4 后台处理..... 29 2.2.5 Eclipse的帮助功能..... 30 2.3 资源管理...... 36 2.3.1 工作空间....

    Java课大作业,文本编辑器

    在文本中搜索/替换字符(字符串);编辑Java或C/C++ 源程序时语法关键字加亮;可打开并对二进制格式的文件进行编辑和保存;在文本中以字符串形式插入当前的日期/时间。 IDE 支持Intellij, Eclipse, NetBeans, ...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    JSPExample5.jsp JSP页面中字符数据的简单使用 JSPExample6.jsp 结合布尔类型变量判断学生成绩等级 JSPExample7.jsp text.html页面提交至该页,并显示提交数据 text.html 页面数据提交至...

    Eelipse Luna Service Release 2 (4.4.2) 代码补全插件,消除空格键的代码补全问题

    对于org.eclipse.jface.text_3.9.2.v20141003-1326.jar的插件,我已经修改过源码,并将修改后生成jar包上传,遇到这个问题的可以直接下载这个jar包把eclipse中的plugin文件下的原来的jar包替换掉即可。 如果有想根据...

    文件夹递归查询所有文件夹内容替换目标文本

    bat可执行文件执行jar包,遍历文件夹下所有文件指定内容并且替换为目标文件。不需要idea和eclipse等工具打开,开发语言是JAVA。

    JAVA字符串操作类CTool.java字符转换类

    比如字符串的查找替换操作、将字符串中的特殊字符转换成Web页中可以安全显示的字符串,转换字符串,从UTF-8到GBK的编码转换,从“GBK”到“ISO8859_1”的字符串转换,大文本块处理(将字符集转成ISO),String型变量...

    Eclipse_Swt_Jface_核心应用_部分19

    6.6.2 Eclipse中的CBanner 95 6.7 滚动面板(ScrolledComposite) 95 6.7.1 设置滚动条的样式 96 6.7.2 滚动面板的其他方法 97 6.8 本章小结 97 第7章 SWT布局管理器 98 7.1 布局管理器概述 98 7.1.1 ...

    transliterator tool:将 unicode 字符音译为其他字符和字符串!-开源

    加载一个带有五位 unicode 数字的字母文件和要替换该字符的字符串,另存为纯文本 unicode 并运行。

    电影字幕制作软件popsub

     时间轴窗口的查找替换功能中,可以预定义替换以及删除的字符  (1) popsub目录下的Replace.lst中,  输入Replace/替换前的文字/替换前的文字  查找替换窗口中就可以选择这个文件中定义的替换项目  (2) popsub...

    java 增量自动打包 增量更新

    eclipse插件 可打包增量文件,可一键将增量文件更新至测试环境且自动重启 一、使用条件 1、eclipse (eclipse 4.0以上) 2、版本管理用的svn 二、使用方法 1、将下载的jar 放入eclipse\dropins下 2、重启eclipse ...

Global site tag (gtag.js) - Google Analytics