パイプ記号 '|'を使用して文字列を分割する必要があります。セパレータとしてパイプ記号を使用して文字列値を分割する方法はありますか?
このシナリオでは文字列値を分割できますが、 に「0〜9」より大きい「箇条書き数」がある場合は、その数値の最初の桁のみが出力されます。
例:入力が11. Welcome to java programming
であれば、これはこれは私が得る出力され、これまで
public static void main(String[] args) {
String split_vls = "11. Welcome1. to java programming |1. Oops concepts |12. Encapsulation |3.Abstraction |14.Inheritance |5.Polymorphism";
String[] Numeric_split = split_vls.split("\\|*(\\d+\\.)\\s*");
for (String pipes_Split : Numeric_split) {
System.out.println(pipes_Split);
}
}
私のコードです1 Welcome to java programming
を印刷します:
Javaプログラミングに Oopsの概念 カプセル化 抽象化
継承
ポリモーフィック
これは、予想される出力です:
ようこそJavaプログラミング
おっとコンセプトに
カプセル
抽象
継承
ポリモーフィック
卿を更新しました「」のような文で:11.ようこそ。 Javaプログラミングへそれは文を分割しています。このシナリオでは、Excepted出力は得られません。 'Javaプログラミングへ ようこそ 抽象 継承 ポリモーフィズム ' –
@Cholaあなたは文字にマッチするのを避けるために\\ '' \\ D 'とw'を置き換えることができます概念 カプセル化おっと([デモ](のhttp:// ideone .com/GbHvfJ))。 – dasblinkenlight
先生、新しい番号と「。」を付け加えれば、あなたの答えからいくつかの変更を加えました。それは完全に前の単語 "ウェルカム"を完全に削除します。私の質問をチェックしてください。そして私に解決策を教えてください。 –