Java Regex を使用して、文字列の最初の 2 桁を取得したいと考えています。部分文字列を使用したくありません。例: 文字列に「12345」が含まれている場合、正規表現を使用して「12」を部分文字列にしたいとします。
質問する
9087 次
4 に答える
2
substring()
ここを使ったほうがいい
System.out.println("12345".substring(0,2)); // 12
複雑な入力を検証する必要がある場合、正規表現は通常意味があります。そうしないと、すべての余分なパターン コンパイルが不要なオーバーヘッドになります。実際に文字列が実際に数値であることを検証し、最初の 2 桁を返したい場合は、基本的な API を使用してそれを行うことができます。
String input = "12345";
try {
Integer.parseInt(input);
System.out.println(input.substring(0,2)); // 12
catch (NumberFormatException e) {
System.out.println("Invalid input: " + input);
}
于 2013-07-02T05:30:57.990 に答える
2
この正規表現を使用できます
^\d{2}
^
文字列の開始を示します
\d
1桁に一致
{2}
前のパターンに 2 回一致する量指定子です
string digits="";
Matcher m=Pattern.compile("^\d{2}").matcher();
if(m.find())digits=m.group();
于 2013-07-02T05:29:04.270 に答える
0
このような最初の2桁の正規表現?^(\d{2})
または.*?(\d).*?(\d).*
、文字列がc3hk45のような数字だけではない場合、$1と$2からこれらの2桁を取得できる場合、34を取得するようなものを使用します
于 2013-07-02T07:18:58.967 に答える
0
次の正規表現を試すこともできます。
(?:\D+?)(\d{2})
于 2013-07-02T05:43:33.210 に答える