JavaScriptで改行削除する方法
JavaScriptで改行をすべて削除する方法
JavaScriptで文字列からすべての改行を削除する方法はいくつかあります。ここでは、正規表現とStringメソッドの両方を使用してこれを実現する方法を説明します。
正規表現を使用する
正規表現は、文字列のパターンをマッチさせる強力なツールです。改行を削除するには、改行を表す文字(\n
)またはキャリッジリターンとラインフィード(\r\n
)のいずれかをマッチさせる正規表現を使用し、それを空の文字列に置き換えます。
const str = "This is\na multi-line\nstring.";
const result = str.replace(/\r?\n/g, '');
console.log(result); // Output: This is a multi-line string.
/\r?\n/g
:\r?
: キャリッジリターン(\r
)がオプションで存在する場合をマッチします。\n
: ラインフィード(\n
)をマッチします。g
: グローバルマッチフラグで、文字列内のすべてのマッチを置き換えます。
Stringメソッドを使用する
JavaScriptのString
オブジェクトには、文字列を操作するためのさまざまなメソッドが提供されています。改行を削除するには、split()
メソッドを使用して文字列を改行で分割し、join()
メソッドを使用して空の文字列で結合することができます。
const str = "This is\na multi-line\nstring.";
const result = str.split('\n').join('');
console.log(result); // Output: This is a multi-line string.
join('')
: 配列の要素を空の文字列で結合し、新しい文字列を作成します。split('\n')
: 文字列を改行で分割し、配列を作成します。
const str = "This is\na multi-line\nstring.";
const result = str.replace(/\r?\n/g, '');
console.log(result); // Output: This is a multi-line string.
- str.replace(/\r?\n/g, '')
str.replace()
: 文字列の特定のパターンを別の文字列に置き換えます。''
: 置き換える文字列として空の文字列を使用します。
const str = "This is\na multi-line\nstring.";
const result = str.split('\n').join('');
console.log(result); // Output: This is a multi-line string.
ES2021以降では、replaceAll()
メソッドを使用して、文字列内のすべてのマッチを置き換えることができます。
const str = "This is\na multi-line\nstring.";
const result = str.replaceAll(/\r?\n/g, '');
console.log(result); // Output: This is a multi-line string.
String.prototype.normalize() (Unicode Normalization)
Unicode Normalizationは、文字列を正規化された形式に変換するプロセスです。改行を削除するには、normalize()
メソッドを使用して、文字列をNFC (Normalization Form C)に変換し、その後、改行文字を削除することができます。
const str = "This is\na multi-line\nstring.";
const result = str.normalize('NFC').replace(/\u000A|\u000D/g, '');
console.log(result); // Output: This is a multi-line string.
\u000D
: キャリッジリターン\u000A
: ラインフィード
カスタム関数
より柔軟な制御が必要な場合は、カスタム関数を作成して改行を削除することができます。
function removeLineBreaks(str) {
return str.replace(/\r?\n/g, '');
}
const str = "This is\na multi-line\nstring.";
const result = removeLineBreaks(str);
console.log(result); // Output: This is a multi-line string.
javascript regex string