gpt4 book ai didi

powershell - PowerShell中两个以上字符串的最长公共(public)子字符串?

转载 作者:行者123 更新时间:2023-12-04 11:43:00 25 4
gpt4 key购买 nike

如何在 PowerShell 的字符串数组中找到匹配的字符串:

例子:

$Arr = "1 string first",
"2 string second",
"3 string third",
"4 string fourth"

使用此示例,我希望返回:
" string "

我想用它来查找文件名的匹配部分,然后删除文件名的那部分(例如从一组 mp3 文件中删除艺术家的名字),而不必指定文件名的哪一部分应该被替换手动。

最佳答案

$arr =  "qdfbsqds", "fbsqdt", "bsqda" 
$arr | %{

$substr = for ($s = 0; $s -lt $_.length; $s++) {
for ($l = 1; $l -le ($_.length - $s); $l++) {
$_.substring($s, $l);
}
}
$substr | %{$_.toLower()} | select -unique

} | group | ?{$_.count -eq $arr.length} | sort {$_.name.length} | select -expand name -l 1
# returns bsqd
  • 生成输入字符串
  • 的所有唯一子字符串的列表
  • 过滤出现 #inputstrings 次的子字符串(即在所有输入字符串中)
  • 根据子串的长度对这些过滤后的子串进行排序
  • 返回此列表的最后一个(即最长的)
  • 关于powershell - PowerShell中两个以上字符串的最长公共(public)子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199102/

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