gpt4 book ai didi

javascript - 仅当 JavaScript 中子字符串长于 x 时才从子字符串中删除字符

转载 作者:行者123 更新时间:2023-11-28 18:53:01 24 4
gpt4 key购买 nike

我有一串单词,并且希望仅当单词超过 4 个字符时才从单词末尾删除“ay”。

例如:

"I work every day except monday, tuesday, wednesday and thursday"

应该返回:

"I work every day except mond, tuesd, wednesd and thursd"

我确信可以使用 string.replace() 方法解决这个问题,我只需要弄清楚可以添加到 (/ay$/gi, "") 中以使其仅替换 ay 单词超过 4 个字符,同时能够处理逗号和空格。

最佳答案

/ay$/gi 正则表达式仅匹配任何单词末尾的 ay

您可以使用以下代码:

var re = /\b(\w{3,})ay\b/gi;  // It will match `ay` at the end of a 5+ letter word
var str = 'I work every day except monday, tuesday, wednesday and thursday';
var result = str.replace(re, '$1');
document.getElementById("r").innerHTML = result;
<div id="r"/>

正则表达式为\b(\w{3,})ay\b。很匹配

  • \b - 单词边界
  • (\w{3,}) - 3 个或更多字母数字符号,将它们存储在组 1 中(我们将反向引用存储在 capture group 中的值)稍后在替换字符串中)
  • ay\b - 匹配单词末尾的 ay

$1 backreference在替换字符串中获取捕获组1缓冲区中存储的值(即(\w{3,})捕获的内容,3个或更多字母数字符号) .

请参阅regex demo

关于javascript - 仅当 JavaScript 中子字符串长于 x 时才从子字符串中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34159741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com