0

ドットが文字列に含まれる頻度を調べたいと思います。以下の関数を試してみましたが、1 ではなく 11 と表示されます。

trace(count("example.com", "."));

function count(s:String, letter:String)
{
    return s.match(new RegExp(letter,"g")).length;
}

関数の何が問題になっていますか?

4

1 に答える 1

1

正規表現では、.は「任意の文字」を意味します。に置き換えます\.

一般的な関数を作成している場合は、 に渡す式が、RegExp探していると思われるものを実際に探していることを確認する必要があります。\それが単一の文字である場合は、その前にa を置くことで安全に「エスケープ」できると思います。

于 2013-09-30T19:01:51.233 に答える