2016-05-20 14 views
0

私はRegexを初めて使うので、これはかなり基本的な質問です。 タブのスペースを特定し、それを任意の文字、たとえばRで置き換えようとしましたが、コードが機能していないようです。私はスペース文字の正しい出力を得ることができる。Java Regexのタブスペース

public static void main(String[] args) { 
     String str = "abs abd abs abd"; 
     System.out.println(str.replaceAll("\\t","R"));  
} 

出力は次のようにして出てくる: はABDは、事前にABD

感謝をABS ABS !!

+3

これらはタブではなく、スペースです。 –

+0

これはおそらくIDEで入力したものです。私のIDEも、私がタブを押すと、実際のタブの代わりに特定の数のスペースを追加します。したがって、あなたはその出力を得る。 – Hackerdarshi

+0

'\\ s'を使って、タブを含むすべての空白をマッチさせることができます。しかし、それが質問に答えるかどうかわからない... – Mena

答えて

1

正規表現用のJava APIでは、\\sは空白と等しくなるため、正規表現\\s\\sは2つの空白などに一致する必要があります。それは助けるが、これはあなたが達成しようとしているものであればRと各スペースに置き換えられます。この

public static void main(String[] args) { 
     String str = "abs abd abs abd"; 
     System.out.println(str.replaceAll("\\s","R")); 
    } 

このような何かをしようとする場合

私は知りません。

+0

System.out.println(str.replaceAll( "\\ s \\ s \\ s"、 ""));これはタブのために働くでしょう。ご協力いただきありがとうございます。 –

0

\\s+を使用すると、1つ以上の空白文字を一致させることができます。これは1つのタブまたは複数のスペースで、ほとんどのIDEではタブの代わりによく使用されます。

System.out.println(str.replaceAll("\\s+","R"));