使用正则把邮箱的中间字符串替换成“*”号?
2个回答
展开全部
可以用正则
",(?=[^\"]+?\",|[^\"]+?\"$)"匹配引号引起来的逗号,然后1个语句替换掉。
这里给个java的
public static void main(String[] args){
String s = "a,b,\"1a,2c,310\",c,d,\"xx,yy,zz\",ee,fff";
String s2= s.replaceAll(",(?=[^\"]+?\",|[^\"]+?\"$)", "_");
System.out.println(s2);
}
//输出为
a,b,"1a_2c_310",c,d,"xx_yy_zz",ee,fff
这个正则是直接替换掉""中间引起来的部分的逗号,""的后引号由于和前引号样子一样,为了避免替换掉c,d这种位置的",对后引号使用",或者"$来做的判断。你可以试一下。
",(?=[^\"]+?\",|[^\"]+?\"$)"匹配引号引起来的逗号,然后1个语句替换掉。
这里给个java的
public static void main(String[] args){
String s = "a,b,\"1a,2c,310\",c,d,\"xx,yy,zz\",ee,fff";
String s2= s.replaceAll(",(?=[^\"]+?\",|[^\"]+?\"$)", "_");
System.out.println(s2);
}
//输出为
a,b,"1a_2c_310",c,d,"xx_yy_zz",ee,fff
这个正则是直接替换掉""中间引起来的部分的逗号,""的后引号由于和前引号样子一样,为了避免替换掉c,d这种位置的",对后引号使用",或者"$来做的判断。你可以试一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询