javascript - 用派生字符串 JavaScript 替换字符串中的坐标

标签 javascript regex replace

我正在尝试获取文本/字符串并用替代值替换字符串中的所有坐标。

例如:

This coord is [80,20] and [30,25]

应该变成:

This coord is <a href='location?x=80&y=20'>[80,20]</a> and <a href='location?x=30&y=25'>[30,25]</a> 

基本上,使文本中的坐标可点击方向链接。

我已经有了我的正则表达式:

/\[\-{0,1}[0-9]{1,}\,\-{0,1}[0-9]{1,}\]/

我已经测试过它,它会选择我正在寻找的内容,但我不熟悉用正则表达式替换子字符串以及将正则表达式的结果作为替换字符串的一部分的javascript方面.

任何正确方向的指针将不胜感激:)

最佳答案

使用()捕获坐标,然后在替换中将它们引用为$1$2等。$ & 指的是整个正则表达式的匹配。

var string = 'This coord is [80,20] and [30,25]';
var newString = string.replace(/\[(-?\d+),(-?\d+)\]/g, "<a href='location?x=$1&y=$2'>$&</a>");
alert(newString);

注意,{0,1}可以简化为?,而{1,}相当于+。也不需要在正则表达式中转义 =,,并且 \d 匹配数字。

关于javascript - 用派生字符串 JavaScript 替换字符串中的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27052621/

相关文章:

javascript - 什么是 JavaScript FileReader 以及它可以在哪里使用?

javascript - 按空格分割字符串,没有空元素?

string - 批量扩展变量不能在子字符串替换函数中使用

vb.net - 替换 vb.net 中的 "

javascript - bootstrap-datepicker 在选择日期时不会更新 AngularJS 模型

javascript - 避免 D3 更新中的无效路径格式错误

javascript - 当needle是变量时替换global

python - 更准确地搜索文本中的字符串

mysql - 在逗号分隔值列中查找逗号分隔子组的最佳 mysql 查询是什么

python - 在python中加载到数据库的不可见的unicode字符