如何替换同一对字符间多次出现的字符串?以括号换input标签为例
替换括号内容为Input标签的解决方案
嘿,我来帮你搞定这个需求!要把文本里所有括号(...)内的内容替换成带<strong>包裹的input标签,用正则表达式就能轻松实现,下面给你具体的实现示例:
原始文本
My Name is (Name). I live in (Turkey).
JavaScript实现
我们可以用全局正则匹配所有括号内容,并替换成带placeholder的input标签(placeholder保留原括号里的内容,用户体验更好):
// 原始文本 const originalText = "My Name is (Name). I live in (Turkey)."; // 正则全局替换括号内容 const replacedText = originalText.replace(/\((.*?)\)/g, '<strong><input type="text" placeholder="$1"></strong>'); // 输出结果 console.log(replacedText);
输出结果
My Name is <strong><input type="text" placeholder="Name"></strong>. I live in <strong><input type="text" placeholder="Turkey"></strong>.
Python实现
如果用Python处理,代码逻辑类似:
import re original_text = "My Name is (Name). I live in (Turkey)." # 正则替换 replaced_text = re.sub(r'\((.*?)\)', r'<strong><input type="text" placeholder="\1"></strong>', original_text) print(replaced_text)
小说明
- 正则
/\((.*?)\)/g里,\(和\)是转义特殊字符括号,(.*?)是非贪婪匹配括号内的任意内容,g表示全局替换所有符合的项 - 如果你不需要placeholder,直接把替换内容改成
<strong><input type="text"></strong>就可以啦
内容的提问来源于stack exchange,提问作者Harmeet Singh
相关产品推荐
相关产品推荐

