例如,将Yangomo, Congo, DRC
替换为Yangomo, Congo, <acronym>DRC</acronym>
。每个字符串中可能有多个大写子串。我假设某种形式的正则表达式?
感谢。
答案 0 :(得分:5)
嗯,一个非常简单的可能是:
var replaced = original.replace(/\b([A-Z]+)\b/g, '<acronym>$1</acronym>');
然而,做这种事情总是有并发症;这取决于源材料。 (“\ b”的东西与单词边界相匹配,对于各种场合来说都是非常宝贵的技巧。)
编辑 - 富有洞察力的用户Buh Buh指出,仅影响超过两个字符的字符串可能会很好,这看起来像/\b([A-Z]{2,})\b/
。
答案 1 :(得分:0)
我个人会使用PHP来爆炸字符串,使用正则表达式查找所有大写字母/[A-Z]+/
,然后使用PHP插入标记(使用str_replace)。