Java - 获取字符串中字符串后面的字符的最简单方法
问题描述:
如何获取字符串后面的字符列表?有没有一个内置的字符串方法来做到这一点?Java - 获取字符串中字符串后面的字符的最简单方法
List<String> characters = new ArrayList<>();
String string = "Grid X: 32";
// How can I get the characters that come after "Grid X: "?
我知道你可以用循环做到这一点,但有没有另一种方法可能更简单?
答
后,只要抓住了人物“:”
String string = "Grid X: 32"
int indexOFColon = string.indexOf(":");
String endNumber = string.subString(indexOFColon + 2);
所以,你得到的冒号,这是6在这种情况下的指数,然后抢开始后2子,这就是你的号码开始。
答
有两种可能性:
-
使用正则表达式(regex):
Matcher m = Pattern.compile("Grid X: (\\d+)"); if (m.matches(string)) { int gridX = Integer.parseInt(m.group(1)); doSomethingWith(gridX); }
-
使用字符串的子串的方法:
int gridX = Integer.parseInt(string.substring(string.indexOf(':')+1).trim()); doSomethingWith(gridX);
答
有多种方式可以获得这完成了。最简单的可能只是子串。但是,如果该字符串实际上不启动它是充满危险的“网格X:” ......
String thirtyTwo = string.substring(s.indexOf("Grid X: ") + "Grid X: ".length());
正则表达式是在这个相当不错。
+0
我给你一个,因为我没有看到下来的选民的任何解释 – 2014-12-08 06:08:13
答
下面的代码可用于获取chacters的名单: -
String gridString = "Grid X: 32";
String newString = gridString.subSubString(gridString.indexOf(gridString) + gridString .length);
char[] charArray = newString.toCharArray();
Set nodup = new HashSet();
for(char cLoop : charArray){
nodup.add(cLoop);
}
你可以在单词试图分裂“网格X”,然后从所得到的数组中选择第一个元素[位0]或你可以拆分“:” – tudoricc 2014-12-07 19:31:39