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

标签 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);
     }
} 

最佳答案

如果我阅读 Java docs正确地,您正在寻找匹配对象的 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());
}

关于java - 如何获取字符串中第一个字母的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23390612/

相关文章:

regex - 正则表达式匹配任何字符串powershell

java - 从文件中用java解析JSON

java - 使用 elasticache 的日志中的 DNS 错误

java - 在 MAC OS X 10.11 上使用 Homebrew 软件安装 ant 无法正常工作

javascript - 如何创建 "progressively matching"正则表达式?

php - 检查字符串是否包含特定数字

java - java中的GridColumn组

java - Zookeeper 错过了连续更改的事件

php - 使用正则表达式更新 mysql 表

php - 自由的货币正则表达式