我有一个.txt文件,其中包含如下文字:
blah blah blah size: 80
blah blah blah blah size: 150
Aka有一些文字,然后是size:
,space
,int
,new line
,重复......现在,我需要获取整数并存储它变量。我使用BufferedReader逐行读取文本,一切正常,但是,只是因为整数的长度变化,我不能告诉你:
String x = line.substring(line.indexOf("size") + 6, line.indexOf("size") + 8)
因为如果大小有3位数,它只会获得前两位数。有什么建议?
答案 0 :(得分:2)
如何使用最后一个空格的位置来确定子串的位置?
String s = line.substring(line.lastIndexOf(' ')+1);
答案 1 :(得分:1)
您可以使用String#substring(beginIndex)
方法,该方法将从指定索引处开始子字符串,直到字符串结束:
String x = line.substring(line.indexOf("size") + 6);
答案 2 :(得分:1)
您还可以split字符串并访问最后一个元素
String[] split = s.split(":");
System.out.println(split[1].trim());
// ^-this is just an example, as an exercise try
// to figure out index of last element yourself
答案 3 :(得分:1)
你可以试试正则表达式,下面的表达式得到数字组:
// can run in a for loop for each line
String regEx = ".*size:\s+(\d+)";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(line); // line to match
if (matcher.matches()) {
String sizeVal = matcher.group(1);
}
答案 4 :(得分:0)
获取冒号后的子字符串
String x = line.substring(line.indexOf(":") + 2);