2

基本上我的问题是这样的,我需要解析,分隔符在哪里的文本,但" "不应检查引号中的任何内容是否有分隔符。这是该Scanner.skip方法的用途吗?我会自己检查它,但我不明白如何在 java 中编写正则表达式模式,其中令牌介于两者之间" "。我还想在正确的标记中包含任何引用的文本,该标记由有效的,.

4

1 回答 1

2

我前段时间研究过这个问题,但没有找到足够快的解决方案。

因此,我将一个简单的自定义字符串拆分器(忽略引号之间的分隔符)合并到我从事的开源项目中:

QuoteAwareStringSplitter.java

例如:

public static void main( String[] args ) throws IOException
{
    String s = "ads,asdas,das,das, \"ahda,asd,as,d,a\", adsa";
    String[] tokens = QuoteAwareStringSplitter.splitLine( s );
    for ( String token : tokens )
    {
        System.out.println( token );
    }
}

印刷:

ads
asdas
das
das
ahda,asd,as,d,a
 adsa
于 2012-04-15T16:55:59.387 回答