我正在使用 JS 创建一个 MTG 卡生成器,我想知道如何使用正则表达式替换卡成本中的整数? (更多的是学习而不是发布)
card_cost 只是用户输入的文本值,我希望能够用空格分隔整数 IE:用户输入:“10 1 2”应该替换整数,但应保留空格。
会这样开始:
if(card_cost)
{
card_cost=card_cost.replace(/INTEGER/g,"<span class='card_costnum' src='numsymbol.png' ></span>");
}
这里的尝试是用跨度内的整数来替换整数,以显示每个数字的背景图像。
现在我有时间考虑这个问题,我假设我需要获取一个整数数组,以便我可以在一个范围内将它们传回,替换不足以正确捕获多个整数我认为。
最佳答案
在 javascript replace
函数中,$&
指的是搜索字符串本身,因此可以这样写
someStr = "12 34 foo 5 bar"
someStr.replace(/\d+/g, "<span whatever>$&</span>")
返回
<span whatever>12</span> <span whatever>34</span> foo <span whatever>5</span> bar
要单独替换每个数字,只需删除 +
:
someStr = "12 34 foo 5 bar"
someStr.replace(/\d/g, "<span whatever>$&</span>")
返回
<span whatever>1</span><span whatever>2</span> etc
关于javascript - 正则表达式替换以空格分隔的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10266196/