正则表达式[]匹配疑问 正则表达式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的正则表达式写的是不对的。^表示的是非,-表示得是从 到 所以你这种写法根本就有问题。如果你希望替换这些特殊字符,正确的做法应是String ends = "[@|#|$|%|^|&|*|\\-|_|,|,|¥|、|\\[|\\]]*"; 本帖最后由 fudongrifdr 于 2014-08-26 09:08:23 编辑 String ends = "^[@#$%^&*-_,,¥、]*";这句话是以[@#$%^&*-_,,¥、]其中一个开头,肯定匹配不上,应该是"[@#$%^&*-_,,¥、]*"这个就行了吧。你可以试试 String pattern = "([-+*/^\\&\\%\\#\\$()\\]\\[])"; String Str = "[-a+a#a$a%*&a]"; Str = Str.replaceAll(pattern, ""); System.out.println("str=["+Str+"]"); 或者一种更简单的:String pattern = "\\W";String Str = "[-a+a#a$a%*&a]";Str = Str.replaceAll(pattern, "");System.out.println("str=["+Str+"]"); 我也帮楼主写了一个,不知道是不是楼主要的结果,不是的话就是我会错意了:import java.util.regex.Pattern;public class TestRegex { public static void main(String[] args) { // TODO Auto-generated method stub String ends = "[^\\[a]*"; String str=",[aaaaa"; System.out.print(Pattern.compile(ends).matcher(str).replaceAll("")); }} 在正则表达式中,连字符(“-”)有着特殊的意义,它表示一个范围,比如从0到9。因此,你只是想要匹配“-”这样的符号,那么它的前面要加上一个转义字符“\”。 String ends = "^[@#$%^&*\\-_,,¥、]*";String str=",[aaaaa";System.out.print(Pattern.compile(ends).matcher(str).replaceAll("")); 关于JOptionPane的 中英文 问题 请教。。 软交换中,JMF视屏问题 端口冲突 linux下如何实现应用程序不显示界面 jsp中使用数据库问题 java基础问题,有有劳位大哥 高分请教关于发布applet的问题,解决就给分 请问报sqlException:游标未打开;这是什么意思; 初学JAVA,问个简单的问题,不要笑话偶。 jboss的配置 这是一个测试...... java io问题中的PrintWriter.调用相关方法无法把读取出来的文件写入到指定文件中 jxl进行表格读取
^表示的是非,-表示得是从 到
所以你这种写法根本就有问题。如果你希望替换这些特殊字符,正确的做法应是
String ends = "[@|#|$|%|^|&|*|\\-|_|,|,|¥|、|\\[|\\]]*";
这句话是以[@#$%^&*-_,,¥、]其中一个开头,肯定匹配不上,应该是"[@#$%^&*-_,,¥、]*"这个就行了吧。你可以试试
String Str = "[-a+a#a$a%*&a]";
Str = Str.replaceAll(pattern, "");
System.out.println("str=["+Str+"]");
String pattern = "\\W";
String Str = "[-a+a#a$a%*&a]";
Str = Str.replaceAll(pattern, "");
System.out.println("str=["+Str+"]");
import java.util.regex.Pattern;public class TestRegex { public static void main(String[] args) {
// TODO Auto-generated method stub
String ends = "[^\\[a]*";
String str=",[aaaaa";
System.out.print(Pattern.compile(ends).matcher(str).replaceAll(""));
}}
String ends = "^[@#$%^&*\\-_,,¥、]*";
String str=",[aaaaa";
System.out.print(Pattern.compile(ends).matcher(str).replaceAll(""));