就像标题中所说的那样,是否可以使用扫描仪在冒号之前读取字符串的一部分,然后在冒号之后读取字符串的其余部分?
如果您有一个字符串:
"AA:BigHouseOnTheBeach"
我能否将第一部分存储"AA"
在单独的字符串中,并存储"BigHouseOnTheBeach"
在第二个单独的字符串中?
这是我的代码:
public NumberPlates() {
// opg 2a) initialiser districtMap
districtMap = new HashMap<String, String>();
readFile();
}
public void readFile() {
file = new File("src/opg2_numberplates/Nummerplader.txt");
try {
Scanner reader = new Scanner(file);
if (reader.hasNext()) {
kb = reader.next();
pk = reader.next();
districtMap.put(kb, pk);
}
} catch (NullPointerException ex) {
System.out.println("Null pointer");
} catch (FileNotFoundException ex) {
System.out.println("File not found");
}
}
目前,提出"AA:BigHouseOnTheBeach"
并"AB:SmallHouseOnTheBeach"
进入我的地图作为键和值。我想把它"AA"
当作关键和"BigHouseOnTheBeach"
价值。
您可以使用以下setDelimiter(String regex)
方法Scanner
:
Scanner scan = new Scanner("Hello: There!");
scan.useDelimiter(":");
System.out.println(scan.next());
System.out.println(scan.next());
输出:
“你好”
“那里!”
如果您不希望第二个字符串在后面加上空格":"
,请更改为:
scan.useDelimiter(":\\s*");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句