我编写了一个 Java 类,它必须从包含换行符的字符串中提取元素。作为第一步,代码必须用换行符分割输入字符串并将结果放入数组中。除了在一种特定情况下,这一切都很好。我正在使用以下代码来执行拆分:
String lines[] = inputText.split("[\\r?\\n\\r]+");
我遇到的问题是以下行:
##INFO=<ID=DS,Number=0,Type=Flag,Description=""removed?"">"
它导致两行:
##INFO=<ID=DS,Number=0,Type=Flag,Description=""removed
"">"
它在问号上分裂。谁能指出我为什么会发生这种情况的正确方向?正则表达式内部没有“?” 表示 0 或 1 次出现?这不是按换行符分割的可接受方式吗?