首页javastringJava Data Type - 如何从字符串中获取第一个字(纯字母表字)

Java Data Type - 如何从字符串中获取第一个字(纯字母表字)

我们想知道如何从字符串中获取第一个字(纯字母表字)。
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

  public static void main(String[] args) {
    System.out.println(getFirstWord("this is a test"));
  }

  /**
   * Get the first word (pure alphabet word) from the String
   * 
   * @param source
   *          the string where the first word is to be extracted
   * @return the extracted first word or null if there is no first word
   */
  public static String getFirstWord(String source) {
    if (source == null) {
      return null;
    }

    source = source.trim();

    if (source.isEmpty()) {
      return null;
    }

    if (containsSpace(source)) {

      final int FIRST_WORD_GROUP = 1;
      String firstWordRegex = "^[^A-z]*([A-z]+)";
      Pattern pattern = Pattern.compile(firstWordRegex);
      Matcher matcher = pattern.matcher(source);
      if (matcher.find()) {
        return matcher.group(FIRST_WORD_GROUP);
      } else {
        return null;
      }
    } else {
      return source;
    }
  }

  private static boolean containsSpace(String source) {
    return source.contains(" ");
  }
}