Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中删除字符串中的重复单词_Php_String_Duplicates - Fatal编程技术网

在php中删除字符串中的重复单词

在php中删除字符串中的重复单词,php,string,duplicates,Php,String,Duplicates,我想删除字符串中的重复单词 例如: $str=“oneone”(不带空格) 我想删除重复项并显示为一个 有人能给我一个解决方案吗?我不知道你在问什么。正如其他人所说,很难删除所有重复项。但是,如果您只想要只包含重复项的单词(例如,您希望将“oneone”更改为“one”,但保留“everyoneone”),最简单的方法是检查字母数为偶数的单词,其中后半部分与前半部分相同 将文本拆分为单词,并对每个单词执行以下操作 $length = strlen($word); if (! $length %

我想删除字符串中的重复单词

例如:

$str=“oneone”(不带空格)

我想删除重复项并显示为一个


有人能给我一个解决方案吗?

我不知道你在问什么。正如其他人所说,很难删除所有重复项。但是,如果您只想要只包含重复项的单词(例如,您希望将“oneone”更改为“one”,但保留“everyoneone”),最简单的方法是检查字母数为偶数的单词,其中后半部分与前半部分相同

将文本拆分为单词,并对每个单词执行以下操作

$length = strlen($word);
if (! $length % 2 && substr($word, 0, $length / 2) == substr($word, ($length / 2) + 1, $length /2))
    $word = substr($word, 0, $length / 2);

没有单词边界的可能重复很难定义什么是重复:“queuequeue”。还有,@那里,正是因为没有单词边界,这不是链接问题的重复。没有空格?您应该定义一个最小字长,因为“o”将是另一个“o”的重复,与“one”和“one”相同,即使您可以想出一个算法来比较最长的非重复序列,您仍然需要根据语言确定这些序列是否包含真正的重复项,例如“neoneone”包含单词“neo”、“one”、“eon”、“neon”或“on”。代码如何决定是否应该删除“oneone”或“eoneon”或“neoneo”?确定这一点需要对上下文进行语义和句法分析。祝你好运。还有一点:你在这个网站上问了9个问题,但没有接受任何答案。这并不能激励人们去关心(尤其是当你为我们提供的信息太少的时候)。所以我可以建议你回到你以前的问题,接受一些答案吗?