hello-world how are you?
Javaは空白や句読点で文字列を分割が、結果にのみ句読点を含め
をこれは私がこれを破った、split
を使用
String str = "Hello-world how are you?";
Arrays.stream(str.split("\\b+")).forEach(System.out::println);
hello-world how are you?
Javaは空白や句読点で文字列を分割が、結果にのみ句読点を含め
をこれは私がこれを破った、split
を使用
String str = "Hello-world how are you?";
Arrays.stream(str.split("\\b+")).forEach(System.out::println);
あなたは、分割のために、この正規表現を使用することができます。
ここString str = "hello-world how are you?";
Arrays.stream(str.split("\\p{javaWhitespace}+|(?=\\p{P})|(?<=\\p{P})")).forEach(System.err::println);
\\p{Z}+|(?=\\p{P})|(?<=\\p{P})
分割を任意のUnicodeの空白文字の上または前または次の文字が区切り文字であれば、それは主張する先読みの助けを借りて。
出力:
String str = "Hello-world how are yóu?";
List<String> res = new ArrayList<>();
Matcher m = Pattern.compile("(?U)\\w+|\\p{Punct}").matcher(str);
while (m.find()) {
res.add(m.group());
}
System.out.println(res);
// => [Hello, -, world, how, are, yóu, ?]
参照T:
hello
-
world
how
are
you
?
空白ではありません。 '\ p {Z}'はタブと一致しません。 –
あなたはそうです。 '\ p {java} 'は' \ p {Z} 'よりも優れています。 – anubhava
をしようとしたコードである
hello
-
world
how
are
you
?
になるはずですセパレータ内にある。
public static void main(String[] args) {
String test = "hello - word bla bla bla";
String[] values = test.split(" ");
for (String element : values) {
System.out.println(element);
}
}
'hello-world'が接続されています。 – user3833308
StringTokenizerを参照してください。 https://docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html – Pr3ds
String str = "Hello-world how are you?";
Arrays.stream(str.split("\\b+")).forEach(w -> {
if (!w.equals(" "))
System.out.println(w);
});
' if'を削除するには 'filter'を使います。これは、あなたの解を 'Arrays.stream(str.split(" \\ b + "))と書くことを可能にしますfilter(w - >!w.equals(" "))forEach(System.out :: println) ; '。 – Pshemo
はるかに簡単な正規表現ソリューションは、マッチングアプローチで可能です彼Java demo
詳細:
(?U)
- Pattern.UNICODE_CHARACTER_CLASS
修飾子(\w
は、Unicode文字を一致させることができるように)\\w+
- 1+ワード文字(文字、数字、または_
- することができ[\\w&&[^_]]
または[^\\W_]
を使用して減算)|
- または\\p{Punct}
- 句読記号([\\p{P}\\p{S}]
で置き換えることができます)。
あなたのコードを提供してください、私は本当にあなたの質問を理解していません – ronald8192
あなたの入力に 'hello'を少なくとも追加してください。 – anubhava
@ronald added code。 – user3833308