替换字符串的中间部分

时间:2017-03-13 21:59:37

标签: java

我在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

2 个答案:

答案 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");