如果有的话,在第二个空格后删除字符串中的所有内容

时间:2016-04-30 09:40:22

标签: java string

假设我有这样的文字:Thundering Blow I。我需要的是使它看起来像Thundering Blow - 删除字符串末尾的罗马数字。

我尝试了trim()和一些substring()方法,但他们都继续回复:Thundering Blow I回到我身边。也许它可以删除字符串I后的所有内容?也没关系,但我似乎无法找到解决问题的方法。

5 个答案:

答案 0 :(得分:5)

String newStr = s.substring(0, s.lastIndexOf(" "));

这是整个代码:

String s = "ThunderingI";
s = s.trim();
int ind = s.lastIndexOf(" ");
if (ind > 0) {
    s = s.substring(0, ind).trim();
}
System.out.println(s);

答案 1 :(得分:4)

你需要这个,删除第二个空格后的所有字符

String s = "Thundering Blow I";
int k = s.indexOf(" ", s.indexOf(" ") + 1);
String res = s.substring(0,k);
System.out.println(res);

答案 2 :(得分:2)

您可以拆分字符串,然后连接索引为0和1的新字符串。 最简单的解决方案:)..

String[] tempArray = orgStr.split(" ");
String newStr = tempArray[0] + " " + tempArray[1];

答案 3 :(得分:2)

你可以试试这个。

        String a = "Thundering Blow I";
        String[] b = a.split(" ");
        System.out.println(b[0]+" "+b[1]);

答案 4 :(得分:1)

这将从字符串末尾删除单个罗马数字(如果存在):

String input = "Thundering Blow returning MMXVI";
input = input.replaceAll("\\s[CDILMVX]*$", "");

MMXVI 2016年是罗马数字,以防您想知道。