如何获取字符串中第一个非空白字符的索引?

时间:2017-09-15 19:00:32

标签: java

在java中,如何在第一个出现的空格后找到字符串中第一个非空白字符的索引?例如,假设我有字符串:

String mystring = "one two three"

我想要一些会返回值的方法:4 由于角色" t"是在第一个空格之后的第一个字符。

2 个答案:

答案 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());
  }
}

答案 1 :(得分: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;
}