【问题标题】:Finding a list item using regex in java [closed]在java中使用正则表达式查找列表项[关闭]
【发布时间】:2015-10-26 10:23:45
【问题描述】:

我有一个文件列表,列表中的每一项都是文件的名称,后面是创建日期等各种信息。我需要一种方法来检查列表是否包含仅使用文件名的文件。

所以如果一个列表包含:

[fileName1#date#otherinfo, fileName2#date#otherinfo]

如果我不知道日期或其他信息是什么,是否有正则表达式来查找列表是否包含 fileName1(+任意数量的字符)?

【问题讨论】:

  • 为什么不遍历列表,为每个文件获取名称并使用contains()
  • 你使用什么样的列表?字符串列表还是一些其他对象的列表?
  • 这是一个字符串列表。

标签: java regex arraylist


【解决方案1】:

List<T>#contains()需要 <T> 参数。

您可以做的是遍历列表并检查匹配项。

ArrayList<String> list = new ArrayList();
list.add("fileName124567268xtz");
list.add("1234);
String regex = "fileName.*";
for(int i = 0; i < list.size(); ++i)
 if(list.get(i).matches(regex))
  System.out.println(list.get(i));

【讨论】:

    猜你喜欢
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2016-03-25
    相关资源
    最近更新 更多