提问人:David Tejuosho 提问时间:11/26/2021 更新时间:11/26/2021 访问量:89
使用 patterns/delimiter 从 Scanner 获取字符串
using patterns/delimiter to get String from Scanner
问:
我有一个 .txt 文件,其中的信息排序为
信息领域;信息领域;信息领域;信息字段等。所有字段均为字符串。
如何制作获取下一个信息字段的方法?
更多信息:
我从Microsoft访问中导出了.txt文件,并以“;”为分隔符。如果我的扫描仪名为 sc,我该如何执行 sc.nextField() 类型的方法?我最初所做的是使用 sc.next() 进行一个 while 循环遍历每个单词并将该单词添加到字符串中,直到它遇到“;”,但该方法忽略了我在字段中的新行。
private static String grabField(Scanner sc) {
String wordInFloat;
String wordsToPass = "";
while (true) {
wordInFloat = sc.next();
if (wordInFloat.endsWith(";"))
break;
else
wordsToPass += wordInFloat + " ";
}
return wordsToPass;
}
答:
1赞
Emad Ali
11/26/2021
#1
您可以使用内置函数,然后进入 while 循环来提取信息,例如:sc.useDelimiter(";")
while (sc.hasNext()) {
wordsToPass += sc.next(); // edited to change sc.nextLine() to sc.next()
}
旁注:如果您想从字符串中删除任何前导和尾随空格,在将其添加到之前,您可以使用类似wordsToPass
sc.nextLine().trim()
编辑:我的答案不太正确,用代替.sc.next()
sc.nextLine()
评论