我在csv文件中有一个地址列,我需要替换它的一部分。它包含Street,Drive,Avenue等的缩写...我知道replacedStr
不是这样做的准确方法,我使用下面的方法遇到了问题。我有Stream Way St
等地址被替换为Streetream Way Street
。我怎样才能做到这一点?
String str = "1234 Stack Overflow Dr";
String replacedStr = str.ReplaceAll("Dr","Drive");
System.out.println(str);
System.out.println(replacedStr);
输出:
1234 Stack Overflow Dr
1234 Stack Overflow Drive ----------- Requested
答案 0 :(得分:3)
试试这个,
String str = "1234 StaDrck Overflow Dr";
String replacedStr = str.replaceAll("\\bDr\\b","Drive");
另一个例如,
String str = "Stream Way St";
String replacedStr = str.replaceAll("\\bSt\\b","Street");
System.out.println(str);
System.out.println(replacedStr);
<强>输出强>
'str' - Stream Way St
'replacementStr' - Stream Way Street
答案 1 :(得分:3)
让我们使用RegEx!
正则表达式/\bDr\b/
应该与您需要的匹配(如果您需要匹配那些,请将Dr替换为St和Av)。与此等效的java是\\bDr\\b
newString = oldString.replace("\\bDr\\b", "Drive");