4

文字列の1文字のみに一致する正規表現があります。含まれている文字列の長さをテストしたいのですが、それが 4 より大きい場合は、置換を行います。たとえば、正規表現は/\d/. 関数型の replace を使用して match12345ではなく1234.

何かのようなもの:

text.replace(regex, function(match) {
       if (STRING.length > 4)
            return replacement
       else
            return match;
  });

注: /\d/は単なる例です。上記のように、実際の質問に焦点を当てるために、実際の正規表現については言及しませんでした。

4

3 に答える 3

5

または、そのようにしたい場合:

function replaceWithMinLength (str, minLength) {
   str.replace(/\w+/, function(match) {
      if (match.length > minLength) {
        return match;
      } else {
        return str;
      }
   });
}
于 2013-04-28T13:52:18.623 に答える
4

あなたはカートの前に馬を置いています。あなたはより良いでしょう:

if(string.length > 4) {
  string.replace('needle','replacement');
}
于 2013-04-28T13:48:40.733 に答える
0

「文字列を含む」とは、同じ数字の並びのようなものですか? それらを一度にすべて一致させます。

text.replace(/\d{5,}/g, function(string) {
    return string.replace(/\d/g, function(match) {
        return replacement;
    });
});

例えば。どんなタイプの\d{5,}弦にも簡単に適応できます。

于 2013-04-28T13:49:57.340 に答える