我有一个文件,例如:
file.txt的
Milano Tirana Paris
马德里伊斯坦布尔柏林
我想读巴黎和柏林各行的第三个字。我尝试使用子字符串但它不起作用,因为长度发生了变化。我该怎么办?
答案 0 :(得分:1)
我建议阅读整行,通过在空白处拆分来对其进行标记,然后返回所需值的索引。
这样的事情:
package misc;
/**
* CityParser demo
* @author Michael
* @link https://stackoverflow.com/questions/24420434/read-the-third-string-only-java/24420447#24420447
* @since 6/25/2014 8:36 PM
*/
public class CityParser {
public static void main(String[] args) {
int tokenIndex = 2;
CityParser parser = new CityParser();
for (String arg : args) {
System.out.println((String.format("line: '%s' tokenIndex: %d token: %s", args, tokenIndex, parser.getToken(arg, tokenIndex))));
}
}
public String getToken(String line, int tokenIndex) {
String token = null;
if ((line != null) && (line.trim().length() > 0)) {
String [] tokens = line.split("\\s+");
if ((tokens.length > 0)) {
token = tokens[tokenIndex];
}
}
return token;
}
}
答案 1 :(得分:0)
您可以搜索字符“”。所以对于每一行,计算两个“”然后记录kbd.next()来得到这个词。