2017-10-05 2 views
0

私はここで空白で指定の数字を使用して文字列を分割するにはどうすればよいですか?

String str = "12 67 239 2 47 29"; 

、以下のような文字列を持っている私は、結果、1を得た" 2 "

System.out.println(StringUtils.split(str, " 2 ")[0]); 

を使用して上記の文字列を分割したいです。

しかし、私は

12 67 239 2 

は、私はそれを人をどのように行うことができ、以下のような結果が欲しい、私を助けてください。

+2

の隣に存在するすべての文字を削除し、文字列の 'substring'を取得すると' split'することではありません文字列。正規表現を実装することで簡単に行うことができます。試したコードを投稿することをお勧めします。 – Aradhna

+0

アレイ全体ではなく、アレイの最初の位置にコンソールに書き込んでいます。さらに、私はAradhnaに同意します。文字列を分割したくないだけです。 – Aldeguer

+0

@Aradhnaなぜ分割しないのですか?str.split( "(?<= \\ s2)\\ s +")[0] '、split正規表現を最初の引数として受け取ります。この正規表現に一致するための –

答えて

1

<space>2

  • \\s+マッチ1の隣に見える隣に2

    str.split("(?<=\\s2)\\s+")[0] 
    
    • (?<=\\s2)肯定後読みを存在する1つ以上のスペースで文字列を分割するには、以下の正規表現を使用しますまたはそれ以上のスペース。

    • 分割が一致した文字にのみ発生するため、上記の文字列は、区切り文字として2の隣にあるスペースを使用して分割する必要があります。

    または

    私はあなたが何をしたいと思います2.

    System.out.println(str.replaceFirst("(\\s2)\\s+.*", "\\1")); 
    
  • +0

    で十分でしょう@Avinash Rajありがとう。それは正常に動作しています。私は1つの疑問を持っています、あなたは答えで述べた3番目の点で、接頭辞と接尾辞の区切り記号に空白を置きましたか? –

    +0

    "正規表現"のリファレンス(または)チュートリアルのリンクを提供してください。 –

    +0

    @kanna yepですが、接尾辞空白で分割されます。このサイトはほぼすべての正規表現をカバーしています。https://www.regular-expressions.info/quickstart.html –

    関連する問題