如何获取字符串中第一个字母的位置

Eds*_*ins 1 java regex

我需要在字符串中获取第一个字母的位置.

按照一个基本的例子.第一个字母是T,所以我需要知道T我可以使用的位置indexOf("T").

我想通过正则表达式获得第一个字母,而不是添加硬编码的字母(T).

提前致谢.

public class RegexMatches {
    public static void main(String args[]) {

        String line = "000 1 This is my message";
        int first = line.indexOf("T");
        line = line.substring(first, line.length());

        System.out.println(line);
     }
} 
Run Code Online (Sandbox Code Playgroud)

Men*_*ena 8

如果,正如我所解释的那样,您正在通过正则表达式查找句子中的第一个字母字符或其索引,这是一个示例:

String line = "000 1 This is my message";
Pattern p = Pattern.compile("\\p{Alpha}");
Matcher m = p.matcher(line);
if (m.find()) {
    System.out.println(m.group());
    System.out.println("At: " + m.start());
}
Run Code Online (Sandbox Code Playgroud)

产量

Found: T
At: 6
Run Code Online (Sandbox Code Playgroud)


Tim*_*ker 8

如果我正确阅读了Java文档,那么您正在寻找start匹配对象的方法:

String line = "000 1 This is my message";
Pattern p = Pattern.compile("\\p{L}");
Matcher m = p.matcher(line);
if (m.find()) {
    System.out.println(m.start());
}
Run Code Online (Sandbox Code Playgroud)