如何获取子字符串后面的字符串中的字符列表?是否有内置的String方法来执行此操作?
List<String> characters = new ArrayList<>();
String string = "Grid X: 32";
// How can I get the characters that come after "Grid X: "?
我知道你可以通过循环来做到这一点,但还有另一种方法可能更简单吗?
答案 0 :(得分:1)
只需抓住&#34;:&#34;
之后的字符String string = "Grid X: 32"
int indexOFColon = string.indexOf(":");
String endNumber = string.subString(indexOFColon + 2);
所以你得到冒号的索引,在这种情况下为6,然后抓住从那之后开始2的子串,这是你的号码开始的地方。
答案 1 :(得分:1)
有两种可能性:
使用正则表达式(正则表达式):
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);
答案 2 :(得分:1)
下面的代码可用于获取字符列表: -
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);
}
答案 3 :(得分:0)
完成这项工作的方法不止一种。最简单的可能只是子串。但如果字符串实际上不是以“网格X:”开始......那么它就充满了危险......
String thirtyTwo = string.substring( s.indexOf("Grid X: ") + "Grid X: ".length() );
Regex也非常擅长这一点。