我有一个从单个组件创建的分隔符$
分隔字符串。
我需要拆分它并获得形成字符串的组件。
然而,有一些极端情况,$值出现在我自己的分裂逻辑中。
示例bar,fo$o and zoo
是组件。所以创建的字符串是bar$fo$o$zoo
。
一切都很好但我现在无法使用$
将其拆分,因为它会将bar,fo,o and zoo
作为组件。
解决此问题的一种方法是使用复杂且很可能不会发生的分隔符。但我试图通过转义来解决这个问题。使用$
替换组件中的$$
。因此输入组件现在是bar,fo$$o,zoo
。连接字符串为bar$fo$$o$zoo
。
现在如何在javascript中单独出现$
时拆分?
我正在阅读Split string with a single occurence (not twice) of a delimiter in Javascript,但它看起来有点复杂。如果它是一个重复的问题,我将关闭它。
答案 0 :(得分:2)
这是我的问题的非正则表达式解决方案;
var input = 'bar$fo$$o$zoo',
results = input.replace(/%/g, '%25')
.replace(/\$\$/g, '%24')
.split('$')
.map(function(term) {
return decodeURIComponent(term);
});
console.log(results);
尝试小提琴
答案 1 :(得分:1)
urlencoding组件怎么样?
encodeURIComponent('fo$o')
,然后在拆分字符串后解码到IMPURIComponent?