[解決済み] 文字列の最初の文字が数字であるかどうかを調べるには?
2022-10-18 04:57:22
質問
Javaで、文字列の最初の文字が数字であるかどうかを調べる方法はありますか?
一つの方法として
string.startsWith("1")
というように、9時までずっと上記のようなことをするのですが、これは非常に非効率的なようです。
どのように解決するのですか?
Character.isDigit(string.charAt(0))
なお を使用すると 任意の ユニコード数字 で、0-9だけではありません。好むかもしれません。
char c = string.charAt(0);
isDigit = (c >= '0' && c <= '9');
あるいは、より遅い正規表現による解決策。
s.substring(0, 1).matches("\\d")
// or the equivalent
s.substring(0, 1).matches("[0-9]")
しかし、これらの方法のいずれにおいても、まず文字列が空でないことを確認する必要があります。もしそうであれば
charAt(0)
と
substring(0, 1)
は
StringIndexOutOfBoundsException
.
startsWith
にはこの問題はありません。
条件全体を1行にし、長さのチェックを避けるには、正規表現を次のように変更すればよい。
s.matches("\\d.*")
// or the equivalent
s.matches("[0-9].*")
プログラムのタイトなループの中で条件が表示されない場合、正規表現を使用することによる小さなパフォーマンスのヒットは、おそらく目立たないでしょう。
関連
-
Git Pull Failed マージされていないファイルがあるため、Pull できません。
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】文字列中のある文字の出現回数をカウントする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefined[sonar] sonar:デフォルトのスキャンルール
-
Javaでよくある構文エラー
-
プロジェクトの依存関係を解決できない。
-
java.sql.SQLException: 結果セットの開始前
-
配列定数は初期化子でのみ使用可能です。
-
Junitのユニットテストエラー
-
Java基礎編 - オブジェクト指向
-
Javaがエラーで実行される、選択が起動できない、最近起動したものがない
-
Java の double データ型における 0.0 と -0.0 の問題
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.