【问题标题】:Perl delete similar strings in an array [duplicate]Perl删除数组中的相似字符串[重复]
【发布时间】:2015-07-07 17:14:32
【问题描述】:

我是 Perl 编程的新手。

我需要在一个数组中找到并删除部分匹配的字符串。

例如在我的数组中有字符串:

@array = qw(abcd.txt abcdeff.txt abcdweff.txt abcdefrgt.txt);

我只想将第一个 abcd.txt 保存到数组中并删除其余部分(前 4 个字符相似),即只打印 abcd .txt@print "@array"; 被调用时。

【问题讨论】:

  • 这不是重复的,它有些不同。
  • @print "@array"; 是错误的。应该是print "@array";

标签: arrays string perl


【解决方案1】:
my %seen;
@array = grep !$seen{ substr($_,0,4) }++, @array;

【讨论】:

  • 谢谢它的工作原理@array = qw (abcd.txt abcdeff.txt abcdweff.txt abcdefrgt.txt efghijk.txt efghijksdf.txt efghijkasdfw.txt);
  • 那怎么样?它也应该适用,摆脱与前一个元素具有相同前四个字符的任何元素
  • 是的,它也可以。
猜你喜欢
  • 2023-01-09
  • 2012-05-09
  • 1970-01-01
  • 2016-11-14
  • 1970-01-01
  • 2021-05-26
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多