gpt4 book ai didi

java - 在java正则表达式中,如何获取文件名的特定部分

转载 作者:行者123 更新时间:2023-12-02 02:50:46 34 4
gpt4 key购买 nike

我有一个字符串,它基本上是一个文件名。我需要检索某个文件名的一部分。它是第二个 -(破折号)之前的值。文件名的格式示例:

fileName-014qsqs-xxxxyyyzzz.txt

我需要得到结果:

文件名-014qsqs

如何使用正则表达式?

谢谢

最佳答案

当试图解决这个问题时,使用正则表达式测试器会很有帮助(例如 http://www.regexplanet.com/advanced/java/index.html )

正则表达式 (.*?-.*?)-.* 与您要查找的内容匹配。

.*:任何字符任意次数

?:使其非贪婪,因此它只进行尽可能少的匹配

-:文字破折号

():括号使其成为一个组,以便可以提取它。

整个程序如下所示:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main
{
public static void main(String atrgs[])
{
String line = "fileName-014qsqs-xxxxyyyzzz.txt";
Pattern pattern = Pattern.compile("(.*?-.*?)-.*");
Matcher matcher = pattern.matcher(line);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
}
}

并具有输出fileName-014qsqs

关于java - 在java正则表达式中,如何获取文件名的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43868154/

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