【发布时间】:2012-11-15 02:28:38
【问题描述】:
我有以下 javascript 字符串
/Library/Application%20Support/Adobe/Fireworks%20CS6/Commands
“CS#”部分中的数字可能会改变,但我想将字符串转换为以下格式,记住数字可能会改变。
/Library/Caches/Adobe/TypeSupport/CS6
我知道我可以通过多种方式做到这一点,但出于教育目的,我正在寻找最好的方法。
我可以使用replace方法使用正则表达式进行搜索,但是是否可以在替换中使用匹配项?
感谢您的帮助
【问题讨论】:
-
“是否可以在替换中使用匹配” - 当然可以。您可以捕获子匹配并使用
$1、$2等引用它们。或者指定一个回调函数以返回替换文本,其中回调将接收匹配作为参数。更多信息请访问MDN's.replace()page。在您的示例中,有多少输出字符串要硬编码,有多少来自输入? (显然CS6是可变的,但是Library/或/Adobe/呢?)
标签: javascript regex replace