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

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

  正则表达式的语法与使用规范可以参考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的正则表达式处理。

posted on 2015-10-28 15:48  Blueness_girl  阅读(1322)  评论(0编辑  收藏  举报

导航