MySQLで改行を含むテキストを検索する方法【REGEXP活用】
MySQLで改行コードを含むテキストを検索したい場合は、REGEXP演算子を使用します。正規表現パターンとして「\n」を指定することで、改行を含むレコードを簡単に抽出できます。
それでは、実際の手順を見ていきましょう。
1. サンプルテーブルを作成する
まずは検証用のテーブルを作成します。
mysql> create table DemoTable
(
Name varchar(100)
);
Query OK, 0 rows affected (1.61 sec)2. テストデータを挿入する
INSERTコマンドでレコードを追加します。ここでは「John\nSmith」や「David\nMiller」のように、文字列の中に改行コード(\n)を含めたデータを登録しているのがポイントです。
mysql> insert into DemoTable values('John\nSmith');
Query OK, 1 row affected (0.73 sec)
mysql> insert into DemoTable values('John Doe');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('David\nMiller');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values('Carol Taylor');
Query OK, 1 row affected (0.27 sec)3. テーブルの内容を確認する
SELECT文ですべてのレコードを表示してみます。
mysql> select *from DemoTable;
実行すると、次のような結果が得られます。
+--------------+ | Name | +--------------+ | John Smith | | John Doe | | David Miller | | Carol Taylor | +--------------+ 4 rows in set (0.00 sec)
4. 改行を含むレコードを検索するクエリ
以下のクエリを実行することで、改行を含むテキストを持つレコードだけを抽出できます。
mysql> select *from DemoTable where Name regexp "\n";
実行結果はこちらです。
+--------------+ | Name | +--------------+ | John Smith | | David Miller | +--------------+ 2 rows in set (0.41 sec)
このように、改行コードを含んでいた「John Smith」と「David Miller」の2件だけが取得できました。
補足ポイント
- regexp "\n":REGEXP演算子に「\n」を渡すことで、改行コードを含む文字列にマッチします。
- LIKE句でも「LIKE '%\n%'」のように検索可能ですが、REGEXPの方がより柔軟なパターンマッチングに対応できます。
- Windows環境で生成されたデータの場合、改行が「\r\n」(CRLF)になっていることがあります。その場合は「regexp '\r\n'」を試してみてください。
-
C++でテキストの両端揃え(ジャスティフィケーション)を実装する方法
単語の配列と最大幅 maxWidth が与えられたとき、各行がちょうど maxWidth 文字になるようにテキストを整形し、両端を揃える(フル・ジャスティファイ)ことを考えます。単語は貪欲法(グリーディーなアプローチ)で詰め込みます。つまり、1行にできるだけ多くの単語を収め、必要に応じて余分なスペース「 」を補って、各行の文字数をちょうど maxWidth に合わせます。単語間の余分なスペースは、できるだけ均等に分配します。行内のスペース数が単語間で均等に割り切れない場合は、左側の空きスロットに右側よりも多くのスペースを割り当てます。また、テキストの最終行は左揃えとし、単語間に余分な
-
XPathで (空白)を含むテキストを検索する方法|normalize-space関数の使い方
XPathで や空白を含むテキストを検索する方法Web自動テストでは、 (ノーブレークスペース)や余分な空白を含むテキストを持つ要素を、XPathロケーターで特定したいケースがあります。まずは、前後に空白が含まれているWeb要素のHTMLコードを確認してみましょう。下の画像の例では、strongタグで囲まれた「JAVA BASICS」というテキストに空白が含まれていることが、HTMLコードから読み取れます。要素のテキストや属性値に空白が含まれている場合、そのような要素に対するXPathを作成するにはnormalize-space関数を使用します。この関数は、文字列から前後(