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

文字列内の空白をJavaScriptに置き換える方法(RegExを使用)

テキスト内のパターンを検索するためのツールであるRegex(正規表現)を使用して、文字列内の空白をJavaScriptに置き換える方法を学びます。

Regex(「RegEx」または「RegExp」と綴られることが多い)は、文字列(テキスト)を操作するためのパフォーマンスの高いツールです。正規表現の最も一般的な使用例は次のとおりです。

  • テキストの検証
  • テキスト検索

今日は、正規表現を使用してテキスト(文字列)の行のすべての空白を何もないに置き換える簡単な例から学びます。 —ただし、次のコード例を使用して、空白を他の文字に置き換えることができます。

空白は文字と見なされます。したがって、現在読んでいるこの文の単語間のすべてのスペースは、1つの空白文字としてカウントされます。

この文には6つの空白文字があります。

空白文字を置き換えるために、正規表現にはいわゆるメタ文字があります。 \sと呼ばれます 改行、タブ、Unicodeを含む単一の空白文字を検索します。

このように:

const sentence = "This sentence has 6 white space characters."

console.log(sentence.replace(/\s/g, ""))
// Thissentencehas6whitespacecharacters.

コードで何が起こっているか:

  • まず、replace()を添付します sentenceへのメソッド 空白を削除する文字列を参照する変数。
  • 次に、前述の\sを追加します 空白文字を見つけるための引数としてのメタ文字。バックスラッシュ(\ )は予約済みのエスケープです JavaScriptの文字、/を追加します その前で脱出 そのため、/\s/になります 。
  • 次に、グローバルgを使用します フラグ。JavaScriptにすべてを検索するように指示します。 文字列の空白文字。 gを追加しない場合 、最初の空白インスタンスのみ(This sentenceの間) )が置き換えられます。
  • 最後に、空白を何に置き換えますか?空の文字列"" これにより、空白文字が削除され、すべての単語が1つの単語に接着されます。

注:元のsentenceは変更されていません これを行うことで変数は、console.log()を使用しているだけです replace(/\s/g, "")を使用した場合の外観を印刷するには その上で正規表現メソッド。

sentenceの値を変更したい場合 変数に空白が含まれないようにするには、それを新しい変数に割り当て、アクセスが必要になったときにその変数を参照する必要があります。

このように:

const sentence = "This sentence has 6 white space characters."
const sentenceRemoveWhiteSpace = sentence.replace(/\s/g, "")

console.log(sentenceRemoveWhiteSpace)
// Thissentencehas6whitespacecharacters.

そして、私の計算が正しいことを確認するために、match()と呼ばれる別の便利な正規表現メソッドを使用してみましょう。 元のsentenceの空白文字の数をカウントします 変数で、実際に6かどうかを確認します:

console.log(sentence.match(/\s/g).length)
// 6

ふぅ、そうです!


  1. JavaScriptを使用してアクセント付き文字を含む文字列を並べ替える方法は?

    以下は、JavaScriptでアクセント付き文字を含む文字列を並べ替えるコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style&g

  2. Java RegExを使用して同等の空白を一致させる方法は?

    メタ文字「\\s は、指定された文字列の空白文字と一致します。 例1 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example {    public static void main(String args[]) {       //Reading String from user       System.out.println("Ent