java比较前2个字符

java比较前2个字符,java,Java,我想在文本中找到开头是数字,后面是数字 example: 1. 11. 111. 我的x代码。(x是数字)这起作用了。问题是当x超过2位数时 x= Character.isDigit(line.charAt(0)); if(x) if (line.charAt(1)=='.') 如何扩展此逻辑以查看x是否为后跟的整数 example: 1. 11. 111. 我的第一个问题是: 我需要确定给定的行有x。是否格式化,其中x是整数您可以使用regex[0-9]\。查看字符串中是否存在后跟句点的

我想在文本中找到开头是数字,后面是数字

example:
1.
11.
111.
我的x代码。(x是数字)这起作用了。问题是当x超过2位数时

x= Character.isDigit(line.charAt(0));
if(x)
if (line.charAt(1)=='.')
如何扩展此逻辑以查看x是否为后跟的整数

example:
1.
11.
111.
我的第一个问题是:
我需要确定给定的行有x。是否格式化,其中x是整数

您可以使用regex
[0-9]\。
查看字符串中是否存在后跟句点的数字

如果需要确保模式始终位于字符串的开头,可以使用正则表达式:

Pattern.compile("C=(\\d+\\.\\d+)")
然而,更一般的是:

Pattern.compile("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?")
现在要使用该模式,请执行以下操作:

Pattern pattern = Pattern.compile("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?");
Matcher matcher = pattern.matcher(EXAMPLE_TEST);
// Check all occurances
while (matcher.find()) {
    System.out.print("Start index: " + matcher.start());
    System.out.print(" End index: " + matcher.end() + " ");
    System.out.println(matcher.group());
}

为什么不使用正则表达式呢

([0-9]+)[.]
编辑:哎呀,误读了

试试这个:

    public static boolean prefix(String s) {
        return s.matches("[0-9]+\\.");
    }

你能告诉我怎么做吗pl@codaddict看起来模式返回了错误,将其视为模式上的转义序列,我们应该使用[0-9]+\\。如果错误,请纠正我轻微的增强:符号没有得到处理(我不确定是否需要,但以防万一…)