2017-09-15 9 views
-4

Javaでは、最初に出現する空白の後に文字列内の最初の非空白文字のインデックスを見つけるにはどうすればよいですか?私は値を返す方法のいくつかの並べ替えをしたい文字列中の空白以外の最初の文字のインデックスを取得するにはどうすればよいですか?

String mystring = "one two three" 

:たとえば、私は文字列を持っていたと言う4 文字「t」は最初の空白の後の最初の文字であるため。

+0

単語間に複数の空白がありますか?それは問題への解決策を少し変えます。 –

+0

あなたはちょうどそれをするためにいくつかのコードを書くでしょう。 –

答えて

1

これは、このための組み込み関数はありません動作しているようですし、出力4

public class Example { 
    public static void main(final String... args) { 
    Pattern p = Pattern.compile("([^\\s]+)?(\\s)+"); 
    String mystring = "one two three"; 
    final Matcher matcher = p.matcher(mystring); 
    matcher.find(); 
    System.out.println(matcher.end()); 
    } 
} 
0

。しかし、これを行う関数を書くのは非常に簡単です:

public static int getIndexOfNonWhitespaceAfterWhitespace(String string){ 
    char[] characters = string.toCharArray(); 
    boolean lastWhitespace = false; 
    for(int i = 0; i < string.length(); i++){ 
     if(Character.isWhitespace(characters[i])){ 
      lastWhitespace = true; 
     } else if(lastWhitespace){ 
      return i; 
     } 
    } 
    return -1; 
} 
関連する問題