您的位置:首页 > 编程语言 > Java开发

js与java正则表达式处理字符串问题

2015-10-28 15:48 603 查看
  在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。合理使用正则表达式确实会为程序员省去很多字符处理的工作,高速而有效。

  正则表达式的语法与使用规范可以参考http://deerchao.net/tutorials/regex/regex.htm

  这里说说用js和java程序处理字符串的一点问题:

<script type="text/javascript">

function check(){
var str = $('#str').val();
str = str.replace(/[\r\n]/g,"");//去掉回车换行
str = str.replace(/[ ]/g,"");  //去掉空格
str = str.replace(/\\|\//g,"");//去斜杠
str = str.replace(/"([^"]*)"/g, "“$1”"); //将半角引号转换全角双引号
str = str.replace(/"([^']*)"/g, "‘$1’");//将半角引号转换全角单引号
alert(str);
}

</script>


   用占位符的方法可处理成对出现的字符,方便快捷。对比用java程序处理类似的字符串可以这样写:

package com.test.processstr;
public class ProcessString {
public static void main(String[] args) {
String source = "\"We [are]\" \'family here\',come \\ {on} girl and boy! $$ \n";
String dest = "";
if (source!=null) {

dest = source.replaceAll("\\s*|\t|\r|\n|\\\\|,","");
dest = dest.replaceAll(",",",");
System.out.println("去掉换行空格斜杠符号后的字符串:" + dest);

dest = dest.replaceAll("\"(.*?)\"", "“$1”");
System.out.println("替换英文双引号符号后的字符串:" + dest);

dest = dest.replaceAll("\'(.*?)\'", "‘$1’");
System.out.println("替换英文单引号符号后的字符串:" + dest);

dest = dest.replaceAll("\\[(.*?)\\]", "【$1】");
System.out.println("替换中括号符号后的字符串:" + dest);

dest = dest.replaceAll("\\{(.*?)\\}", "{$1}");
System.out.print("替换中括号符号后的字符串:" + dest);
}

}

}


也可以使用util包下的Pattern Matcher 类来实现java的正则表达式处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: