JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

正規表現とJavaScriptでコロン(:)の直後の最初の1文字だけを大文字に変換する方法


文字列の中で、コロン(:)の直後に続く最初の1文字だけを大文字にしたい場合は、正規表現とtoUpperCase()メソッドを組み合わせて使用します。toUpperCase()は文字列全体を大文字に変換してしまうため、正規表現を使って「コロンの直後の最初の文字」だけをピンポイントで置き換える必要があります。

例として、次のような文字列を想定します。

var objectValues = 'fullName: john Smith';

サンプルコード

以下が、コロンの直後の最初の文字だけを大文字に変換する完全なコードです。

var objectValues = 'fullName: john Smith';

function capitalizeFirstAfterTheColon(value) {
  return value.replace(/([:\?]\s+)(.)/g, function(data) {
    return data.toUpperCase();
  });
}

console.log(capitalizeFirstAfterTheColon(objectValues));

コードの解説

使用している正規表現 /([:\?]\s+)(.)/g の各要素の意味は次のとおりです。

  • [:\?] … コロン「:」または疑問符「?」にマッチします。疑問符の後ろの文字も同様に処理できるよう、バックスラッシュでエスケープしています。
  • \s+ … 直後に続く1つ以上の空白文字にマッチします。
  • (.) … 空白の次に来る任意の1文字(大文字化の対象となる文字)をキャプチャします。
  • gフラグ … 文字列内のすべての該当箇所に対して繰り返し置換を行います。

マッチした部分文字列全体に対してtoUpperCase()を実行していますが、コロンや空白には大文字・小文字の区別がないため、結果として目的の1文字だけが大文字になります。

実行方法

上記のプログラムを実行するには、次のコマンドを使用します。

node fileName.js

ここでは、ファイル名を demo85.js としています。

出力結果

実行すると、以下の出力が得られます。

PS C:\Users\Amit\JavaScript-code> node demo85.js
fullName: John Smith

このように、元の文字列「john Smith」の先頭の「j」だけが大文字の「J」に変換され、期待どおりの結果が得られています。同様の手法を使えば、疑問符やその他の記号の後の文字を大文字化することにも簡単に応用できます。

  1. 【MySQL】全レコードを一括更新して先頭の文字だけ大文字にし、残りを小文字に変換するクエリ

    はじめに MySQLでは、カラム内の文字列の先頭の文字だけを大文字にし、残りの文字をすべて小文字に変換したいケースがあります。本記事では、CONCAT()、UPPER()、LOWER()、LEFT()、SUBSTRING()といった文字列関数を組み合わせたUPDATEクエリを使って、テーブル内のすべてのレコードを一括更新する方法を解説します。 サンプルテーブルの作成 まず、テーブルを作成しましょう。 mysql> create table DemoTable2017 -> ( -> Name text -> ); Query OK, 0 rows

  2. MySQLで列の値から先頭の1文字を取り出し、別の列に挿入する方法

    はじめにMySQLである列(カラム)の値から先頭の1文字を取り出し、それを別の列に格納したい場合があります。このようなときに便利なのが LEFT() 関数です。LEFT() 関数は、文字列の左端から指定した文字数だけを抽出することができます。ここでは、実際にテーブルを作成しながら、その手順を順番に解説していきます。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。ここでは「FirstLetter」(先頭文字を格納する列)と「Title」(元となる文字列の列)の2つの列を持つテーブルを定義します。mysql> create table DemoTable2036