gpt4 book ai didi

java - 在Java中使用useDelimiter()来隔离一段文本

转载 作者:行者123 更新时间:2023-12-02 06:26:26 26 4
gpt4 key购买 nike

我有一个文本文件,其内容如下所示:

   Event=ThermostatNight,time=0
Event=LightOn,time=2000
Event=WaterOff,time=8000
Event=ThermostatDay,time=10000
Event=Bell,time=9000,rings=5
Event=WaterOn,time=6000
Event=LightOff,time=4000
Event=Terminate,time=12000

我必须使用扫描仪来抓取文件,然后循环遍历每一行文本并隔离每个事件。例如,我需要在第一行中隔离“ThermostatNight”,然后将其放入数组中,下一个将是“LightOn”,依此类推。这是我正在为中级 Java 类(class)开发的大型项目的一小部分。我已经能够通过下面所示的 useDelimiter 参数得到与我想要的完全相反的结果。有没有快速解决这个问题的方法。请注意,我必须使用 useDelimiter() 方法。

 public void readFile2() {
array2 = new ArrayList<String>();
while (s.hasNext()) {
s.useDelimiter("=(.*?),");
array2.add(s.next());
}

最佳答案

您可以使用多个分隔符。

//scanner.useDelimiter("Event=|,time=([0-9]*)");
scanner.useDelimiter("Event=|,(.)+[\\r\\n]*Event=|,(.)+[\\r\\n]*");

//for better you can use this

//scanner.useDelimiter("Event=|,time=([0-9]**)[\\r\\n]**Event=|,time=([0-9]*)");

while (scanner.hasNext())
{
System.out.println(scanner.next());
}

关于java - 在Java中使用useDelimiter()来隔离一段文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20484648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com