关闭。这个问题需要更多 focused .它目前不接受答案。
想改进这个问题?更新问题,使其仅关注一个问题 editing this post .
1年前关闭。
Improve this question
我有一种情况,给定的字符串是hello,"sai,sur",ya,teja
给定字符串的预期输出是hello,sai-sur,ya,teja
引号之间的逗号必须替换为 -
字符和字符串的其余部分应保持原样。
最佳答案
您可以使用 "([^"]+)"
获取引号内的字符串(Regex demo)。这会将不带引号的字符串获取到捕获组。然后,替换所有 ,
与 -
在匹配的字符串中。
第二个参数为 replace
是函数,这个替换函数的第一个参数是整个匹配的子字符串,包括引号。第二个参数是捕获组。由于您要删除 "
从输出中,您可以直接使用捕获组参数。
const input = `hello,"sai,sur",ya,teja`,
output = input.replace(/"([^"]+)"/g, (_, g) => g.replace(',', '-'))
console.log(output)
关于javascript - 字符串替换,但仅适用于引号内的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64457509/