JavaScriptで文字列を特定の文字で分割する方法

2024-04-05

JavaScriptで文字列を特定の文字で分割する方法

split() メソッドは、文字列を分割する最も簡単な方法です。このメソッドは、分割文字を指定して呼び出すことで、文字列をその文字で分割された配列に変換します。

例:

const str = "JavaScript,split,at,particular,character";
const splittedStr = str.split(",");

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

正規表現を使って、より複雑な分割を行うこともできます。

const str = "JavaScript:split:at:particular:character";
const splittedStr = str.split(/[:]/);

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

上記の例では、: という文字で分割するために、正規表現 [:] を使用しています。

reduce() メソッドを使って、分割と同時に配列を処理することもできます。

const str = "JavaScript-split-at-particular-character";
const splittedStr = str.split("-").reduce((acc, cur) => {
  acc.push(cur.charAt(0).toUpperCase() + cur.slice(1));
  return acc;
}, []);

console.log(splittedStr); // ["JavaScript", "Split", "At", "Particular", "Character"]

上記の例では、- という文字で分割し、同時に各要素の先頭文字を大文字に変換しています。

その他の方法

上記以外にも、String.prototype.match() メソッドや for ループを使って分割を行う方法もあります。

JavaScriptで文字列を特定の文字で分割するには、いくつかの方法があります。それぞれの方法にはメリットとデメリットがあるので、状況に応じて適切な方法を選択する必要があります。




split() メソッドを使う

// カンマで分割
const str = "JavaScript,split,at,particular,character";
const splittedStr = str.split(",");

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

// 空白で分割
const str2 = "JavaScript split at particular character";
const splittedStr2 = str2.split(" ");

console.log(splittedStr2); // ["JavaScript", "split", "at", "particular", "character"]

正規表現を使う

// コロンで分割
const str = "JavaScript:split:at:particular:character";
const splittedStr = str.split(/[:]/);

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

// ハイフンと数字で分割
const str2 = "JavaScript-1-2-3-4";
const splittedStr2 = str2.split(/[-0-9]/);

console.log(splittedStr2); // ["JavaScript", "", "", "", ""]

reduce() メソッドを使う

// 文字列を分割し、各要素の先頭文字を大文字に変換
const str = "javascript-split-at-particular-character";
const splittedStr = str.split("-").reduce((acc, cur) => {
  acc.push(cur.charAt(0).toUpperCase() + cur.slice(1));
  return acc;
}, []);

console.log(splittedStr); // ["JavaScript", "Split", "At", "Particular", "Character"]

その他の方法

String.prototype.match() メソッドを使う

// カンマで分割
const str = "JavaScript,split,at,particular,character";
const matches = str.match(/,/g);

const splittedStr = matches.map(match => match.trim());

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

for ループを使う

// 空白で分割
const str = "JavaScript split at particular character";
const splittedStr = [];
let start = 0;

for (let i = 0; i < str.length; i++) {
  if (str[i] === " ") {
    splittedStr.push(str.substring(start, i));
    start = i + 1;
  }
}

splittedStr.push(str.substring(start));

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]



JavaScriptで文字列を特定の文字で分割するその他の方法

String.prototype.replace() メソッドを使う

replace() メソッドを使って、分割文字を空文字に置き換えることで、文字列を分割することができます。

// カンマで分割
const str = "JavaScript,split,at,particular,character";
const splittedStr = str.replace(/,/g, "");

console.log(splittedStr); // "JavaScript split at particular character"
// コロンで分割
const str = "JavaScript:split:at:particular:character";
const splittedStr = str.split(":");

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

// ハイフンで分割
const str2 = "JavaScript-split-at-particular-character";
const splittedStr2 = [];

for (let i = 0; i < str2.length; i++) {
  if (str2[i] === "-") {
    splittedStr2.push(str2.slice(0, i));
    str2 = str2.slice(i + 1);
  }
}

splittedStr2.push(str2);

console.log(splittedStr2); // ["JavaScript", "split", "at", "particular", "character"]

第三者ライブラリを使う

Lodashなどの第三者ライブラリには、文字列分割用の便利な関数を提供しているものがあります。

// Lodashを使ってカンマで分割
const _ = require("lodash");

const str = "JavaScript,split,at,particular,character";
const splittedStr = _.split(str, ",");

console.log(splittedStr); // ["JavaScript", "split", "at", "particular", "character"]

javascript split


JavaScriptでHTMLタグの内容が長すぎる場合に省略記号(...)を挿入する方法

HTMLタグの内容が長すぎる場合、画面からはみ出して見づらくなってしまうことがあります。 そこで、JavaScriptを使って、内容が長すぎる場合に省略記号(...)を挿入する処理を実装することで、見やすくすることができます。解説getElementByIdを使って、省略記号を挿入したい要素を取得します。...


【進化版】クライアントサイドとサーバーサイドの連携:API、WebSockets、SSE、WebRTCで実現する高度なウェブアプリケーション

クライアントサイドプログラミングは、ユーザーのブラウザ上で直接実行されるコードを指します。HTML、CSS、JavaScriptが代表的な言語で、主に以下の役割を担います。ユーザーインターフェース(UI)の表示と操作: ボタンのクリック、フォームの入力、アニメーションなど、ユーザーがウェブページとインタラクションする際の動作を制御します。...


ReactJSで{this.props.children}にpropsを渡してコンポーネントの使い回りを向上させる

ここでは、{this. props. children}にpropsを渡す3つの方法を解説します。React. cloneElementは、React要素を複製し、新しいpropsを追加する関数です。この関数を使って、{this. props...


【JavaScript】PromiseライブラリQ/BlueBird、ES6 Promise登場後も必要?徹底比較!

JavaScript における非同期処理を扱うための標準的な手段として、ES6 で Promise が導入されました。しかし、Q や BlueBird などの Promise ライブラリは、今でも利用価値があるのでしょうか?高度な機能:ES6 Promise は基本的な機能を備えていますが、Q や BlueBird はより高度な機能を提供しています。例えば、以下のような機能が挙げられます。...


React Router v4 で迷わないナビゲーションメニュー作成:NavLink と Link の決定的な違い

アクティブなリンクの強調表示: <NavLink> は、現在の URL と一致するリンクを自動的にハイライトする active プロパティを持ちます。これは、ナビゲーションメニューやタブバーなどのインターフェースで、ユーザーが現在どのページにいるのかを視覚的に示すのに役立ちます。...