java中的字符串修改

时间:2013-08-29 05:12:57

标签: 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();
    }
  }
}

5 个答案:

答案 0 :(得分: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);

我使用String.replaceAll()代替String.replace()正则表达式用于空格

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

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

答案 1 :(得分:1)

您可以分两步完成:

  1. 要在“ - ”之前获取字符串中的所有单词,可以使用String substringindexOf方法。
  2. 要用hiphen( - )替换空格,可以使用String replace方法。
  3. 以下是代码:

    String value="MOTOR PRIVATE CAR-PACKAGE POLICY";
    value = value.substring(0,value.indexOf("-")); // get the words before "-"
    value = value.replace(" ", "-"); // replace space with hiphen
    System.out.println(value);
    

答案 2 :(得分:1)

public class StringModify {

/**
* @param args
*/
public static void main(String[] args) {

   try {
   String value="MOTOR PRIVATE CAR-PACKAGE POLICY";
   System.out.println("Value-------------------->"+value.replaceFirst("\\s*\\w+\\s+\\w+$", ""));

   value = value.substring(0,value.indexOf("-")); // get the words before "-"
   value = value.replace(" ", "-"); // replace space with hiphen
   System.out.println(value);
} catch (Exception e) {

   e.printStackTrace();
}


}

}

答案 3 :(得分:0)

您可以使用'-'拆分字符串,从而为您提供需要插入' '的字符串部分。使用' '再次拆分字符串,然后插入'-'字样。

String value="MOTOR PRIVATE CAR-PACKAGE POLICY";
String[] phrase = value.split("-");
String[] words = phrase[0].split(" ");

String newValue;
for(int i = 0; i < words.length; i++)
  newValue += words[i] + "-";

答案 4 :(得分:0)

String var =“/”; String query =“INSERT INTO Recieptnumbersetup VALUES('”+ Prestring +“''”+ var +“','”+ var +“''”+ post string +“')”;

PS = connection.PrepareStatement(query);

使用此我在这里使用斜线我有同样的问题。