gpt4 book ai didi

regex - 如何查找一个单词是否包含模式字符的排列?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:10 25 4
gpt4 key购买 nike

我有一个长度 <=100 的模式和一组 <20 的单词 我想找到包含模式字符排列的单词数,例如,如果模式是“猫”并且单词集是“ttact tract tattc”输出应该是两个。ttact:匹配,因为它包含 tactract:匹配,因为它包含 acttattc: 剂量不匹配

这是代码

public static void main(String[] args) {
String pattern="cat";
char []p=pattern.toCharArray();
Arrays.sort(p);
String sen="ttact tract tattc";
for (char c : p)
System.out.println(c);
String [] words=sen.split(" ");

if (pattern.length()==1)
{
String [] len=sen.split(pattern);
}
else
{
int count=0;
for (String word :words)
{
String found="";

for (int i=0;i<word.length();i++)
{
if (pattern.indexOf(word.charAt(i))!=-1)
{
found+=word.charAt(i);
if (found.length()==pattern.length())
{
char f [] = found.toCharArray();
Arrays.sort(f);
if (Arrays.equals(f, p))
{
count++;
found="";
}
else
found="";

}


}
else
{
found="";
}


}


}
System.out.println(count);


}}}

最佳答案

模式中字符的任何排列必须与模式的长度完全相同。您可以调查与模式长度相同的单词的所有子串,并检查每个子串是否是模式的排列(例如通过对字母进行排序)。对每个单词重复并计算匹配项。

关于regex - 如何查找一个单词是否包含模式字符的排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26436920/

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