相关疑难解决方法(0)

Java:拆分以逗号分隔的字符串,但忽略引号中的逗号

我有一个模糊的字符串:

foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy"
Run Code Online (Sandbox Code Playgroud)

我想用逗号分割 - 但我需要在引号中忽略逗号.我怎样才能做到这一点?好像正则表达式方法失败了; 我想我可以在看到引号时手动扫描并进入不同的模式,但是使用预先存在的库会更好.(编辑:我想我的意思是已经是JDK的一部分或已经是Apache Commons等常用库的一部分的库.)

上面的字符串应该分成:

foo
bar
c;qual="baz,blurb"
d;junk="quux,syzygy"
Run Code Online (Sandbox Code Playgroud)

注意:这不是CSV文件,它是包含在具有更大整体结构的文件中的单个字符串

java regex string

238
推荐指数
4
解决办法
18万
查看次数

Kotlin String.split,当分隔符在引号内时忽略

我有一个字符串:

Hi there, "Bananas are, by nature, evil.", Hey there.
Run Code Online (Sandbox Code Playgroud)

我想用逗号作为分隔符分割字符串。如何让 .split 方法忽略引号内的逗号,以便它返回 3 个字符串而不是 5 个。

string split kotlin

4
推荐指数
1
解决办法
1964
查看次数

在逗号上拆分字符串并忽略双引号中的逗号

我正在用 Java 编码,并且有一个方法可以返回一个如下所示的字符串:

0, 2, 23131312,"This, is a message", 1212312
Run Code Online (Sandbox Code Playgroud)

我希望字符串像这样吐出:

["0", "2", "23131312", "This, is a message", "1212312"]
Run Code Online (Sandbox Code Playgroud)

当我在逗号上使用拆分字符串方法时,它也会拆分“这是一条消息”,这是我不想要的。如果可能,我希望它忽略那个特定的逗号并去掉双引号。

我查了一些答案,CSV 似乎是这样做的方法。但是,我没有正确理解它。

java csv string split

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

分割包含连续逗号加上引号括起来的逗号的字符串

我正在尝试拆分一个包含连续逗号以及用引号括起来的逗号的字符串,但无法完全获得我想要的结果。这是我拥有的字符串的示例:

\n\n

var str = \xe2\x80\x9810,Apple,"Sweet Gala apple, from Australia",,,,,,in stock,3.99\xe2\x80\x99

\n\n

其中第三个元素在引号内有一个逗号,后跟多个逗号。

\n\n

我想在两种情况下用逗号分割字符串:1)不要分割引号内的逗号2)彼此相邻的多个逗号之间应被视为空格

\n\n

当我使用下面的正则表达式时:

\n\n
str.match(/(".*?"|[^,]+)/g)\n
Run Code Online (Sandbox Code Playgroud)\n\n

结果出现在下面的数组中,满足第一个条件,但未能在连续逗号之间插入空格

\n\n
["10","Apple",""Sweet Gala apple, from Australia"","in stock","3.99"]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我希望它看起来像:

\n\n
["10","Apple",""Sweet Gala apple, from Australia"",\'\',\'\',\'\',\'\',\'\',"in stock","3.99"]  \n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要做什么才能满足以上两个条件?

\n

javascript regex

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

在单引号或双引号外用分号分隔的正则表达式

我需要一个 JavaScript 正则表达式,在单引号引号外用分号分隔字符串。

实际上,我正在使用以下正则表达式/(?!\B['"][^'"]*);(?![^'"]*['"]\B)/gm,遗憾的是它并不能涵盖所有情况。

我需要的:

const string = `Lorem ipsum; "dolor sit; amet"; consectetur 'adipiscing; elit.' Fusce; sit amet ligula.; Phasellus in laoreet quam.`;

const resultArr = string.split(/THEREGEX/gm);

console.log(resultArr);
// ["Lorem ipsum", "\"dolor sit; amet\"", " consectetur 'adipiscing; elit.' Fusce", "sit amet ligula.", " Phasellus in laoreet quam."]
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

如何用逗号分隔,同时忽略引号内的任何逗号?

我有一个 Typescript 文件,它采用 csv 文件并使用以下代码拆分它:

var cells = rows[i].split(",");

我现在需要解决这个问题,以便引号内的任何逗号都不会导致拆分。例如,The,"quick, brown fox", jumped应该拆分为The, quick, brown fox, 和jumped而不是也拆分quickbrown fox。执行此操作的正确方法是什么?

regex csv typescript

0
推荐指数
1
解决办法
4133
查看次数

标签 统计

regex ×4

string ×3

csv ×2

java ×2

javascript ×2

split ×2

kotlin ×1

typescript ×1