我目前有一个恼人的问题。我想在字符串中找到第一个整数值的索引,以便下一步剪切字符串。
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
我尝试了不同的解决方案,但最终我无法找到合适的解决方案。如果我能得到一些帮助,我会很高兴。
答案 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;
}