java - 让扫描仪包含但忽略引用的文本?

标签 java regex quotes java.util.scanner

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

最佳答案

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

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

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

关于java - 让扫描仪包含但忽略引用的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163986/

相关文章:

java - 为什么此方法调用空对象运行时没有 NullPointerException?

Java 检查列表中范围内每个元素的交集

regex - 我如何从一个点 grep 到另一个点,同时忽略第一个匹配项?

windows - Windows 上的 gVIM : execute buffer and paths with spaces

java - EntityManager 不能使用 persist 将元素保存到数据库

java - 是否可以在 Spring Boot 应用程序中使用具有冗余功能的 HashiCorp Vault?

混沌输入中的正则表达式路径匹配

javascript - 如何查找并替换包含数字的名称并将该数字存储在 var 中?

jquery - </script> 在 html 中用引号结束脚本标记

python - 导入包含在 "when some of them contains "和逗号中的值的 CSV 文件