嗨,我有像“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();
}
}
}
答案 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)
您可以分两步完成:
substring
和indexOf
方法。replace
方法。以下是代码:
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);
使用此我在这里使用斜线我有同样的问题。