JavaScriptで文字列内のすべての大文字を先頭に移動する方法
はじめに
文字列の中から大文字だけを取り出して先頭に集めたい場面は、テキスト処理やデータ整形でよくあります。JavaScriptでは、スプレッド構文と sort() メソッド、そして正規表現 /[A-Z]/ を組み合わせることで、シンプルにこの処理を実現できます。
たとえば、次のような文字列を例に考えてみましょう。
my name is JOHN SMITH
sort()と正規表現を使った実装方法
すべての大文字を文字列の先頭に移動するには、正規表現 /[A-Z]/ と sort() を組み合わせて使用します。
コード例
var moveAllCapitalLettersAtTheBeginning = [...' my name is JOHN SMITH ']
.sort((value1, value2) =>
/[A-Z]/.test(value1) ? /[A-Z]/.test(value2) ? 0 : -1 : 0).join(' ');
console.log("After moving the all capital letters at the beginning=");
console.log(moveAllCapitalLettersAtTheBeginning);コードの仕組み
- [...str]:スプレッド構文により、文字列を1文字ずつの要素を持つ配列に分解します。
- sort()の比較関数:/[A-Z]/.test() を使って各文字が大文字かどうかを判定し、value1 が大文字の場合は -1 を返して手前に移動させます。両方とも大文字の場合は 0 を返し、元の順序を維持します。
- join(' '):並べ替えた配列をスペース区切りの文字列に結合して戻します。
プログラムの実行方法
上記のプログラムを実行するには、Node.js環境で次のコマンドを使用します。
node fileName.js
ここでは、ファイル名を demo199.js として保存しています。
実行結果
実行すると、次のような出力が得られます。
PS C:\Users\Amit\javascript-code> node demo199.js After moving the all capital letters at the beginning= J O H N S M I T H m y n a m e i s
出力を見ると、大文字の「JOHN SMITH」の各文字が先頭に集められ、その後に小文字が続いていることが確認できます。このように、sort() と正規表現を組み合わせることで、文字の並べ替え処理を短いコードで効率的に記述できます。
-
JavaScriptのRegExpで文字列内の複数の単語を一括置換する方法を解説
はじめにJavaScriptでは、正規表現(RegExp)を使うことで、文字列の中から複数の特定の単語を一度に検出し、まとめて別の値に置き換えることができます。この記事では、配列に格納された複数のキーワードを、RegExpオブジェクトとreplace()メソッドを組み合わせて一括置換する方法を解説します。やりたいことたとえば、次のような文字列があるとします。var sentence = My Name is John Smith. I live in UK. My Favourite Subject is JavaScript.この文章の中から、以下の配列に含まれるすべての単語を見つけ出し、「
-
Javaで文字列に含まれる大文字をすべて抽出・出力する方法
Javaでは、CharacterクラスのisUpperCase()メソッドを利用することで、文字列の中から大文字だけを簡単に取り出して出力できます。この記事では、その基本的な考え方と具体的な実装方法をサンプルコード付きで解説します。CharacterクラスとはCharacterクラスは、Objectクラスのサブクラスであり、プリミティブ型であるcharの値をオブジェクトとしてラップするラッパークラスです。Character型のオブジェクトは、char型のフィールドを1つだけ持ちます。このクラスには、文字の種類を判定するための便利なstaticメソッドが多数用意されており、isUpperCase