如何编写脚本来替换
{"lat":-32.1814184, -64.4201269}
到{"lat":-32.1814184, "lng":-64.4201269}
。
从,
找到第一次出现}
并替换的表达式是什么。
我的代码如下:
我正在尝试用必需的替换字符串。我写了一个函数,但是
<script>
function getActualData(){
while(true){
var textData=document.getElementById("tss").innerHTML;
var repeats = textData.match(/}/g).length;
if(repeats=0) { break;}
dIndex = textData.indexOf("}");
if(dIndex>0){
var s=textData.substring(dIndex-11,dIndex);
alert(s);
document.getElementById("tss").innerHTML=textData.replace(s,",lng:"+s);
}
else
break;
}
}
</script>
<div id="tss">
{"ID":xxx,"Name":xxx,"emailID":xxx@aol.com,"Address":Provincial 51, Cordoba,xx ,lat":-32.1814184, -64.4201269}, {"ID":xx,"HolderName":xx,"emailID":x@aol.com,"Address":Department - Cordoba 51, xx, "lat":-32.2714158, -64.6214281}
</div>
<script>getActualData();</script>
答案 0 :(得分:0)
不是最令人愉快的解决方案,但这是python中的一个:
import re
string = '''{"ID":xxx,"Name":xxx,"emailID":xxx@aol.com,"Address":Provincial 51, Cordoba,xx ,"lat":-32.1814184, -64.4201269},{"ID":xx,"HolderName":xx,"emailID":x@aol.com,"Address":Department - Cordoba 51, xx, "lat":-12.2714158, -64.6214281} '''
group = re.findall(r'\"lat\":[-]*[0-9]+\.[0-9]+,\ [-]*[0-9]+\.[0-9]+',string)
for coordinate_pair in group:
string = string.replace(coordinate_pair,coordinate_pair.replace(', ',', "lng":'))
答案 1 :(得分:0)
您可以使用replace
,如下所示:
function getActualData(){
var textData = document.getElementById("tss").innerHTML;
var result = textData.replace(/"lat":[^,]+, /g, "$&\"lng\":");
return result;
}
alert(getActualData());
正则表达式的详细信息:
"lat":
字面上匹配“lat”:`
[^,]+,
匹配除逗号以外的所有字符,后跟逗号和空格。
对于替换,$&
是匹配,\"lng\":
会将"lng":
添加到匹配项中。