java中的字符串修改

Vij*_*mar 0 java string

嗨,我有像"MOTOR PRIVATE CAR-PACKAGE POLICY"这样的字符串.现在我想删除最后两个单词并在单词之间添加连字符,最后我想要字符串,如"MOTOR-PRIVATE-CAR".我在java中使用字符串方法多次尝试但是找不到确切的.有人可以为此提供解决方案.给我代码对我来说是好的.

提前致谢

public class StringModify {

public static void main(String[] args) {

    try {
    String value="MOTOR PRIVATE CAR-PACKAGE POLICY";
    System.out.println("Value-------------------->"+value.replaceFirst("\\s*\\w+\\s+\\w+$", ""));
    } catch (Exception e) {     
        e.printStackTrace();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

san*_*hat 8

你可以借助substring()replaceAll()方法来做到这一点

String value="MOTOR PRIVATE CAR-PACKAGE POLICY";
value = value.substring(0, value.indexOf("-")); //get the string till -
value = value.replaceAll("\\s", "-"); //replace all the space chars with -
System.out.println(value);
Run Code Online (Sandbox Code Playgroud)

我用String.replaceAll()而不是String.replace()使用正则表达式空白

\s代表空格字符,并且在将其添加为正则表达式时,我们需要使用额外的\- > 来逃避它\\s

indexOf("-")方法返回传递的String的第一次出现的索引,它应该是substring方法的第二个参数,即endIndex