javascript - 如何将字符串转换为超过 3 个字符的正则表达式?
问题描述
我正在尝试从字符串创建 ABRV。我可以取得一些结果,但不是最终预期的结果。例如,如果我有INTERNATIONAL Monetary Fund ltd
字符串,我需要从中获取IMF
。
我试过这个,但它只返回IMFl
。我需要将其限制为仅计算超过 3 个字符的单词。
'INTERNATIONAL Monetary Fund ltd'.match(/\b\w\B/g).join('');
这个没有按预期工作
'INTERNATIONAL Monetary Fund ltd'.match(/\b\w{4,}\B/g).join('');
解决方案
要仅捕获 4 个或更多字符的单词的第一个字母,您可以在匹配第一个字符后对 3 个或更多单词字符使用前瞻:
const abrv = 'INTERNATIONAL Monetary Fund ltd'.match(/\b\w(?=\w{3,})/g).join('');
console.log(abrv);
推荐阅读
- c++ - 从 int 到具有非固定基础类型的无范围枚举的 constexpr 静态转换的未定义行为在 C++17 中编译
- python - 使用 matplotlib 重叠线图注释
- javascript - 如何填写输入类型=“文件”表单javascript?
- ios - 如何使用 xcode 12.4 创建未签名的 ipa 文件?无法安装“亚军”?代码:代码:-402620388
- node.js - Winston 无法在 WebStorm 中运行项目,但可以从命令行和 PM2 运行
- python-3.x - 不和谐机器人不响应命令
- javascript - 重新加载/提交后,角度应用程序从wordpress中删除输入表单
- java - 如何设置 java 版本(或 java 路径)来构建 gradle 本身
- javascript - nextjs 未捕获的语法错误意外令牌
- minecraft - 你如何为我的世界基岩编写一个模组/插件