0

嗨,我有像“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();
    }
  }
}
4

5 回答 5

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代表空白字符,并且在将其添加为regex时,我们需要使用额外的\so 来转义它 -->\\s

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

于 2013-08-29T05:16:15.307 回答
1

您可以分两步完成:

  1. 要从“-”之前的字符串中获取所有单词,可以使用 String substringindexOf 方法。
  2. 要使用 hiphen(-) 替换空格,可以使用 Stringreplace方法。

这是代码:

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);
于 2013-08-29T05:17:46.560 回答
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();
}


}

}
于 2013-08-29T05:24:29.363 回答
0

字符串 var = "/"; String query = "INSERT INTO Recieptnumbersetup VALUES('"+Prestring+"' '"+var+"','"+var+"' '"+post string+"')" ;

PS = connection.PrepareStatement(query);

使用这个我在这里使用了斜线我遇到了同样的问题。

于 2013-08-29T05:48:06.583 回答
0

您可以拆分字符串,'-'从而为您提供需要插入的字符串部分' '。再次拆分字符串' '并插入'-'b/w 单词。

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] + "-";
于 2013-08-29T05:20:51.993 回答