gpt4 book ai didi

java - 如何使用正则表达式来分割java中前导空格的确切数量?

转载 作者:行者123 更新时间:2023-11-30 03:54:12 25 4
gpt4 key购买 nike

我正在编写一个 dxf 文件解析器,我想使用 String.split() 将文件(表示为字符串)分成单独的 dxf 实体。新的 dxf 实体通过两个前导空格后跟 0 来区分。然而,不幸的是,某些实体(例如 MTEX​​T)还有一些其他属性,其中属性通过四个前导空格后跟一个零来区分。我想使用 split,但我确实使用正则表达式区分这两种情况。简单的 split("\s\s0) 或 split(\s{2,2}0) 仍然允许四个空格。我如何使用正则表达式来指定我要恰好拆分两个前导空格,不少于,不更多。

最佳答案

如果空格字符跟在单词字符后面,则可以使用单词边界 anchor \b,如下所示:

String[] tokens = text.split("\\b\\s{2,2}0");

您还可以使用negative lookbehind - 即使空格之前的字符是非单词字符,它也能工作:

String[] tokens = text.split("(?<!\\s)\\s{2,2}0");

关于java - 如何使用正则表达式来分割java中前导空格的确切数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23667773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com