Javaで文字列から数値を抽出する方法|replaceAll()メソッドの使い方
java.lang.Stringクラスには、文字列を扱うための便利なメソッドが多数用意されています。これらのメソッドを活用することで、トリム(余分な空白の除去)、連結、変換、比較といったさまざまな文字列操作が可能になります。
文字列から数値だけを取り出したい場合は、StringクラスのreplaceAll()メソッドを使うのが最も手軽です。正規表現「[^0-9]」(0〜9以外のすべての文字に一致)を空文字列に置き換えることで、数字以外の文字を一括して削除できます。
サンプルコード
import java.util.Scanner;
public class StringExtractTest {
public static void main(String[] args) {
String input;
String numbers;
Scanner scanner = new Scanner(System.in);
System.out.print("数字を含む文字列をキーボードから入力してください:");
input = scanner.nextLine();
numbers = input.replaceAll("[^0-9]", "");
System.out.println("抽出された数値:" + numbers);
}
}
実行結果
数字を含む文字列をキーボードから入力してください:Welcome to Tutorials Point 1234567890 抽出された数値:1234567890
コードの解説
このプログラムでは、まずScannerクラスを使ってユーザーからのキーボード入力を受け付けます。次に、replaceAll()メソッドに渡した正規表現「[^0-9]」が、アルファベット・記号・空白など数字以外のすべての文字にマッチし、それらが空文字列「""」へ置き換えられます。その結果、入力文字列から数字のみが残り、変数numbersに格納されます。
なお、小数点やマイナス記号も一緒に抽出したい場合は、正規表現を「[^0-9.]」「[^0-9.-]」のように変更すれば柔軟に対応できます。正規表現のパターンを少し変えるだけで、さまざまな形式のデータ処理に応用できるのがこの手法の魅力です。
-
Swiftで文字列の最後の4文字を抽出する方法|substringとsuffixの使い方を解説
Swiftで文字列の末尾から4文字を抽出したい場合、Stringクラスが標準で提供している機能を活用できます。Swiftはバージョンアップのたびにメソッドの追加・非推奨化・改善が繰り返されてきたため、同じ目的を実現するための手段も複数存在します。本記事では、バージョンごとの代表的な抽出方法をサンプルコード付きでわかりやすく解説します。方法1:substringを使う(Swift 3)Swift 3では、substring(from:)メソッドを使って文字列の一部を切り出すことができました。文字列の終了インデックスからオフセットを指定することで、末尾の文字を取得できます。var Str1 = &
-
JavaでJTextAreaに行番号を表示する方法【DocumentListener活用】
JTextAreaはJTextComponentクラスのサブクラスであり、複数行のテキストを表示したり、ユーザーにテキストを入力させたりできるSwingのテキストコンポーネントです。また、CaretListenerインターフェースを実装することで、キャレット(カーソル)の移動イベントを監視することも可能です。 しかし、JTextAreaはデフォルトでは行番号を表示しません。行番号を表示したい場合は、DocumentListenerインターフェースを使ってドキュメントの変更(文字の挿入・削除など)を検知し、その都度行番号を再描画する仕組みを自前で実装する必要があります。 実装のポイント 行番号