我有一个txt文件,内容如下:
one two, three, four five, six seven, eight, nine, ten
你能帮我写出正确的正则表达式来读取一个或两个单词(带空格)吗?
需要:
stroke[0] = "one two",
stroke[1] = "three",
stroke[2] = "four five",
stroke[3] = "six seven",
stroke[4] = "eight",
...
我的代码:
Scanner sc = new Scanner(getResources().openRawResource(R.raw.skills));
while (sc.hasNext()) {
stroke[n] += sc.next("\\w|\\w\\s\\w");
n++;
}
最佳答案
你可能应该只使用 .split(", ")
但如果你必须使用正则表达式,你可以使用这个:
正则表达式:
([^,]+)
工作正则表达式示例:
Java:
**注意,我对java语法没有经验,但是它会是这样的..(如果这不是完全正确的java语法,请原谅我。)
String str = "one two, three, four five, six seven, eight, nine, ten";
Pattern pattern = Pattern.compile("([^,]+)");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(trim(matcher.group()));
}
注意 trim()
以删除任何前面的空格。
类似的东西..再说一遍,我不懂java,但正则表达式可以工作。参见示例。 :)
关于java - 借助正则表达式从文件中读取单个或两个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643766/