相关疑难解决方法(0)

如何在忽略转义逗号的同时拆分逗号分隔的String?

我需要编写一个StringUtils.commaDelimitedListToStringArray函数的扩展版本,它获取一个额外的参数:escape char.

所以打电话给我:

commaDelimitedListToStringArray("test,test\\,test\\,test,test", "\\")
Run Code Online (Sandbox Code Playgroud)

应该返回:

["test", "test,test,test", "test"]
Run Code Online (Sandbox Code Playgroud)



我目前的尝试是使用String.split()使用正则表达式拆分String:

String[] array = str.split("[^\\\\],");
Run Code Online (Sandbox Code Playgroud)

但返回的数组是:

["tes", "test\,test\,tes", "test"]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java regex csv

26
推荐指数
3
解决办法
5万
查看次数

Javascript不会使用正则表达式进行拆分

自从我开始写这个问题以来,我想我已经找到了每个问题的答案,但我认为无论如何我都会发帖,因为它可能对其他人有用,更多的澄清可能会有所帮助.

我试图使用带有javascript函数拆分的前瞻性的正则表达式.由于某种原因,即使在我调用匹配时找到匹配项,它也不会拆分字符串.我原本以为问题来自于我的正则表达式中使用前瞻.这是一个简化的例子:

不起作用:

"aaaaBaaaa".split("(?=B).");
Run Code Online (Sandbox Code Playgroud)

作品:

"aaaaBaaaa".match("(?=B).");
Run Code Online (Sandbox Code Playgroud)

问题似乎是在拆分示例中,传递的字符串未被解释为正则表达式.使用正斜杠而不是引号似乎可以解决问题.

"aaaaBaaaa".split(/(?=B)./);
Run Code Online (Sandbox Code Playgroud)

我用以下愚蠢的例子证实了我的理论:

"aaaaaaaa(?=B).aaaaaaa".split("(?=B).");
Run Code Online (Sandbox Code Playgroud)

有没有其他人认为匹配函数假设你有一个正则表达式,而split函数没有?

javascript regex split lookahead

19
推荐指数
1
解决办法
2万
查看次数

如何使用转义字符使用javascript拆分方法?

可能重复:
如何在js中拆分字符串,但有一些例外

例如,如果字符串是:

abc&def&ghi\&klm&nop
Run Code Online (Sandbox Code Playgroud)

必需的输出是字符串数组

['abc', 'def', 'ghi\&klm', 'nop]
Run Code Online (Sandbox Code Playgroud)

请建议我最简单的解决方案.

javascript regex

7
推荐指数
3
解决办法
5960
查看次数

标签 统计

regex ×3

javascript ×2

csv ×1

java ×1

lookahead ×1

split ×1