使用正则表达式从地址中删除特殊字符



我是正则表达式的新手,我想从带有空格(" "(的地址中删除特殊字符,但如果单词之间出现特殊字符,则删除不带空格 ("(。

例:

拉希马特·贝格先生 医学博士 H 1-7-59 库马里巴扎尔苏里亚普[等 AP 印度

这里

1( - 将被"删除

2( .将被" " 删除

但3( [ 将被 " 删除

表示输出类似于以下内容的内容:

RAHIMATH BEGH MD H NO 1 7 59 KUMMARI BAZAR SURYAPET AP INDIA

提前谢谢。

String str="Mr. RAHIMATH BEGH MD H NO 1-7-59 KUMMARI BAZAR SURYAP[ET AP INDIA";
str=str.replaceAll("\.|\-"," ").replace("[","");;
System.out.println(str);

结果为以下输出:RAHIMATH BEGH MD H NO 1 7 59 KUMMARI BAZAR SURYAPET AP INDIA

使用 .replace()

1( & 2( .replace("(\.|-)+"," ")3( .replace("[","")

你需要

做 2 replaceAll() .一个用于 1( 和 2(,一个单独的用于 3(和所有其他潜在的特殊字符。此示例将为您提供问题的预期输出

String s = "Mr. RAHIMATH BEGH MD H NO 1-7-59 KUMMARI BAZAR SURYAP[ET AP INDIA";
s = s.replaceAll("[\\.-]+", " ");
s = s.replaceAll("[^a-zA-Z\d\s:]", "");

字符串 yourString="Mr. RAHIMATH BEGH MD H NO 1-7-59 KUMMARI BAZAR SURYAP[ET AP INDIA";

yourString=yourString.replaceAll("\.|\-"," ");这将用空格替换"."和"-"。

yourString=yourString.replace("[","(;//将 [ 替换为 ">

希望对:)有所帮助

最新更新