我有以下字符串示例。我想从字符串中找到第二个数字并用其他随机数字替换。我有随机数字,但问题是找到第二个数字并替换为新数字。如何实现这一目标?
1. "data[KPI][0][rows][0][name]"
2. "data[KPI][0][rows][1][name]"
3. "data[KPI][0][rows][2][name]"
预期输出
1. "data[KPI][0][rows][4][name]"
2. "data[KPI][0][rows][5][name]"
3. "data[KPI][0][rows][6][name]"
答案 0 :(得分:1)
嘿,请试试这个:
var str="data[KPI][0][rows][0][name]";
var Result= str.replace(/(\[\d\]\[[^\]]+\])\[\d\]/, "$1[YourCharTo Replace]");
希望有所帮助
答案 1 :(得分:1)
希望这有帮助,
Java-Script方式
var mystr = "data[KPI][0][rows][0][name]";
var regex = /(data\[\D{1,}\[\d{1,}]\[\D{1,}\])(\[\d{0,}])(\[\D{0,}])/;
console.log(mystr.replace(regex,"$1[DesiredNumber]$3"));
PHP方式
$str = "data[KPI][0][rows][0][name]";
$regex = "/(data\[\D{1,}\[\d{1,}]\[\D{1,}\])(\[\d{0,}])(\[\D{0,}])/";
$replacements = '${1}[YourNumber]${3}';
echo preg_replace($regex, $replacements, $str);
答案 2 :(得分:1)
\d+(?=[^\d]*$)
试试这个。看看演示。
http://regex101.com/r/uV3aL0/32
var re = /\d+(?=[^\d]*$)/gim;
var str = 'data[KPI][0][rows][0][name]\ndata[KPI][0][rows][1][name]\ndata[KPI][0][rows][2][name]';
var subst = '';
var result = str.replace(re, subst);