2016-12-22 12 views
-1

文字列に複数のスペースを入れることができます。後続の複数のスペースを1つのスペース文字で置き換える必要があります。 「問題」は、そこに遭遇する可能性のあるスペースの数がわからないことです。私が探している関数は、見つかったマッチの最初の出現を置き換えるだけでなく、ストリング内の複数の等しい文字をすべて置き換えます。複数の等しい文字を文字列に置き換えます。

私は、インターネット上で多くのことを検索し、作業をdidntの私はhttps://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum

にウンター「消極的数量詞」を見つけ正規表現X *(X、0回以上)?」を試してみました: s1 = s1.replaceAll(" *?", " "); s1 = "Hello World";s1 = "Hello World";

に変換する必要があります。何か助けていただきありがとうございます。

答えて

3

replaceAll()を使用すると、空白文字を1つのスペースで置き換えることができます。

String st = "helllo world" 
System.out.println(st.replaceAll("\\s+"," ")) 

Output : helllo world 
+0

この答えが正しく指摘されているため、空白の正規表現マッチャーは '\\ s +'です。 's1.replaceAll(" \\ s + "、" ")'は結果として新しいStringを生成することに注意してください。したがって、s1は変更されず、regexp置換を使用するためにreplaceAllの結果を新しい変数に代入する必要があります。 – Thanos

関連する問題