查找字符串中第一个整数的索引以便剪切此字符串

时间:2017-12-31 11:43:51

标签: java string indexing

我目前有一个恼人的问题。我想在字符串中找到第一个整数值的索引,以便下一步剪切字符串。

String currentPlayerInfo = "97  Dame Zeraphine [TBC]    10  41.458  481 363 117";
String currentPlayerName = "Dame Zeraphine [TBC]"; // This ís a kind of output i would like to get from the string above

我尝试了不同的解决方案,但最终我无法找到合适的解决方案。如果我能得到一些帮助,我会很高兴。

2 个答案:

答案 0 :(得分:0)

您可以替换输入中的所有数字以获得该结果,因此您可以replaceAll使用此正则表达式\d+(\.\d+)?

currentPlayerInfo = currentPlayerInfo.replaceAll("\\d+(\\.\\d+)?", "").trim();

输出

Dame Zeraphine [TBC]

答案 1 :(得分:0)

如果您愿意使用正则表达式,则可以使用模式^[\d\s]+(.*?)\s+\d

这将跳过String开头的所有数字和空格,并将所有内容放到一些空格后跟一个数字。

这仅在playerName不包含数字(以空格开头)时才有效。

String currentPlayerInfo = "97  Dame Zeraphine [TBC]    10  41.458  481 363 117";

Pattern pattern = Pattern.compile("^[\\d\\s]+(.*?)\\s+\\d");

Matcher matcher = pattern.matcher(currentPlayerInfo);
String currentPlayerName;
if (matcher.find()) {
    currentPlayerName = matcher.group(1);
} else {
    currentPlayerName = null;
}