gpt4 book ai didi

java - 用于解析 csv 中的文件扩展名的正则表达式

转载 作者:行者123 更新时间:2023-12-02 05:47:49 25 4
gpt4 key购买 nike

我正在读取行,只需保留文件名后面的部分。我想过使用正则表达式,但我似乎无法找到匹配项:我所做的尝试是:

Pattern p = Pattern.compile("\"\\w+\\.jpg\",\\s{1}");
Matcher m = p.matcher("\"0f23af5c71e3f9d7f59ab14277e2023.jpg\", 10.0, 45.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 1.0, 3.0, 3.0, 0.0, 0.0, 1.0, 3.0, 1.0, 5.0, 0.0");

通常我想解析一个包含如下数据的字符串行:

"0f23af5c71e3f9d7f59ab14277e2023.jpg", 10.0, 45.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 1.0, 3.0, 3.0, 0.0, 0.0, 1.0, 3.0, 1.0, 5.0, 0.0
"0f23af5c71e3f9d7f59ab14277e2023.jpg", 139.0, 67.0, 0.0, 7.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 1.0, 1.0, 3.0, 2.0, 4.0, 1.0
"0f23af5c71e3f9d7f59ab14277e2023.jpg", 205.0, 70.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 1.0, 3.0, 5.0, 0.0, 0.0, 2.0, 3.0, 0.0, 4.0, 3.0

并仅保留10.0、45.0、1.0、2.0、1.0、1.0、1.0、2.0、1.0、3.0、3.0、0.0、0.0、1.0、3.0、1.0、5.0、0.0等每行部分。

即使是 ",我似乎也找不到匹配项:

Pattern p = Pattern.compile("\"?"); // or even
Pattern p = Pattern.compile("\"");

我错过了什么?

最佳答案

这对你有用:

   String str = "\"0f23af5c71e3f9d7f59ab14277e2023.jpg\", 10.0, 45.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 1.0, 3.0, 3.0, 0.0, 0.0, 1.0, 3.0, 1.0, 5.0, 0.0";
str = str.replaceAll(".*jpg\",(.*)", "$1");

编辑

根据OP的要求,这是您修改后的代码,只需检查模式即可。

    Pattern p = Pattern.compile("\"\\w+\\.jpg\",\\s(.*)");
Matcher m = p.matcher("\"0f23af5c71e3f9d7f59ab14277e2023.jpg\", 10.0, 45.0, 1.0, 2.0, 1.0, 1.0, 1.0, 2.0, 1.0, 3.0, 3.0, 0.0, 0.0, 1.0, 3.0, 1.0, 5.0, 0.0");

if(m.matches()) {
System.out.println(m.group(1));
}

关于java - 用于解析 csv 中的文件扩展名的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23883545/

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