web-dev-qa-db-ja.com

JavaScriptで正規表現を使用してアンダースコアをスペースに置き換える方法

Javascriptの正規表現を使用して、アンダースコアをスペースに置き換えるにはどうすればよいですか?

var ZZZ = "This_is_my_name";
22
Karim Ali

JavaScriptコードの場合は、次のように記述して、ZZZ2で文字列を変換します。

var ZZZ = "This_is_my_name";
var ZZZ2 = ZZZ.replace(/_/g, " ");

また、正規表現を使用せずに、効率を下げることができますが、ファンキーな方法で行うことができます。

var ZZZ = "This_is_my_name";
var ZZZ2 = ZZZ.split("_").join(" ");
55
pepkin88

正規表現は、文字列内のテキストを置き換えるツールではなく、文字列内のパターンを検索できますのようなものです。ソリューションを提供するには、プログラミング言語のコンテキストを提供する必要があります。

正規表現_はアンダースコアに一致しますが、それ以上は一致しません。

たとえば、Groovyでは次のようにします。

"This_is_my_name".replaceAll(/_/," ")
    ===> This is my name

ただし、これは言語固有のものです(replaceAllメソッド)。

1
Jack

と置換する " "

実際の実装は言語によって異なります。

Perlでは次のようになります。

s/_/ /g

しかし、真実は、固定文字列を別のものに置き換える場合、正規表現は必要なく、言語/ライブラリの基本的な文字列置換アルゴリズムを使用できることです。

別の可能なPerlソリューションは次のとおりです。

tr/_/ /
0
Adam Batkin
var str1="my__st_ri_ng";
var str2=str1.replace(/_/g, ' ');
0
Aamir Afridi