gpt4 book ai didi

Java:RegEx 制表符在行首不起作用

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

我正在将一些文件解析到我的 Java 程序中。由于它的非 csv/tsv 性质,我想事先格式化它,这样我就可以轻松地阅读它。为此,我尝试了正则表达式,它对我来说效果很好,但有一个异常(exception):行首。

我的文件在每一行的开头仍有一个制表符,我想去掉它,以便 csv-parser 可以正确解析它们:

^ = 仅在行首时,\t = tab

String content = new String(Files.readAllBytes(path), charset);
content = content.replaceAll("^\t","");
Files.write(path, content.getBytes(charset));

奇怪的是,如果我将我的文件和上面的正则表达式放入 http://myregexp.com/ ,它标记要删除的选项卡就好了。我进入调试器,但即使经过彻底搜索也找不到错误。我向两位经验丰富的 Java 程序员展示了代码,以降低问题完全微不足道的可能性。

我从这个站点和其他站点搜索了一些示例,替换为空字符串 "" 也可以。此外,它在我文件的其他地方也有效。似乎只是不在行首。

最佳答案

要从每行的开头删除空格(空格/制表符),请使用MULTILINE 标志:

content = content.replaceAll("(?m)^\\s+","");`

关于Java:RegEx 制表符在行首不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29408809/

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