ReplaceAll在大字符串上引发StackOverflowError

问题描述 投票:-1回答:1

我有与此模式相似的字符串

"aaa",a,"as",22,34,4234,"ss",bdduvi,kbuhdvi,;sd;l;sld,LL,aas

而且我想用#代替双引号中未包含的所有逗号,因此该字符串将转换为

"aaa"#a#"as"#22#34#4234#"ss"#bdduvi#kbuhdvi#;sd;l;sld#LL#aas

当前,我正在使用此正则表达式

,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)

但是这会引发大型字符串的StackOverflowError。如何优化此正则表达式?

java regex replaceall
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.