【发布时间】:2013-12-31 16:35:34
【问题描述】:
我正在做一些随机的 Java 工作,而我的应用程序会保存一个文件,其中包含如下数据:
Word: Word1 Description: Desc1 Type: 1
Word: Word2 Description: Desc2 Type: 2
Word: Word3 Description: Desc3 Type: 3
Word: Word4 Description: Desc4 Type: 4
它成功保存它,当我尝试检索数据时,我无法找出我应该应用什么正则表达式过滤器。例如,从行:
Word: Word1 Description: Desc1 Type: 1
我要提取:
Word1
Desc1
1
每一个都在不同的字符串中。
我只是没有完全理解 Patterns 语法,这已经让我头疼了。谢谢你的时间:)
----------------- 编辑-----
谢谢大家!我终于使用了Kon的答案。结果代码比我想象的要简单得多。我将代码留给可能有类似问题的任何人。
package resources;
import resources.manager.Word;
public class CommonFunctions {
public static Word parseString(String str){
String[] stringA = str.split(" ");
Word result = new Word(stringA[1],stringA[3],Integer.parseInt(stringA[5]));
return result;
}
public static String parseWord(Word wrd){
//TODO
return null;
}
}
【问题讨论】:
-
您不需要也可能不应该为此使用正则表达式。使用 String.split() 方法。例如,带有空格的
String.split(" ")将返回一个数组,其中每个元素中有一个单词。比如String[] array = s.split(" ");,那么你就有array[0] = Word:、array[1] = Word1等。如果你的格式没有变化,那么解析就非常简单了。
标签: java regex syntax substring