Java パターン クラスを使用して、正規表現を文字列として指定します。
たとえば、私はスパイダーマンになるのが大好きです: 「ピーター・パーカー」
Spider-man と "Peter Parker" を別のトークンとしてリストする必要があります。ありがとう
try {
BufferedReader br = new BufferedReader(new FileReader(f));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
String everything = sb.toString();
List<String> result = new ArrayList<String>();
Pattern pat = Pattern.compile("([\"'].*?[\"']|[^ ]+)");
PatternTokenizer pt = new PatternTokenizer(new StringReader(everything),pat,0);
while (pt.incrementToken()) {
result.add(pt.getAttribute(CharTermAttribute.class).toString());
}
}
catch (Exception e) {
throw new RuntimeException(e);
}
したがって、「何らかの単語」が機能しない理由は、各トークン自体が文字列であるためだと思います。手がかりはありますか?ありがとうございました