我正在尝试用逗号替换字符串中的空格。字符串看起来像这样
'1529954897.543 GET 200 173481 174274 "https://www.facebook.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/67.0.3391.0 Safari/537.36" "-" 1 0'
现在的问题是,当我替换所有空格时,它还会替换子字符串“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,如Gecko)HeadlessChrome / 67.0.3391.0 Safari / 537.36”中的空格。
有没有办法不能替换字符串中字符串的空格?
我期望的输出是这个
'1529954897.543,GET,200,173481,174274,"https://www.facebook.com/","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/67.0.3391.0 Safari/537.36","-",1,0'
最佳答案
您可以使用一些split
/ join
逻辑仅替换“..”之外的空格:
const input = '1529954897.543 GET 200 173481 174274 "https://www.facebook.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/67.0.3391.0 Safari/537.36" "-" 1 0'
let result = input.split(`"`)
.map((part, i) => i % 2 ?
part :
part.split(" ").join(",")
).join(`"`)
console.log(result)
关于javascript - 用逗号替换字符串中的空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51216940/