Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Sorting 有没有办法';排序';(删除)文本中过多的字母?_Sorting - Fatal编程技术网

Sorting 有没有办法';排序';(删除)文本中过多的字母?

Sorting 有没有办法';排序';(删除)文本中过多的字母?,sorting,Sorting,好的,大家好!所以我想知道是否有什么方法可以“排序”或删除太多的字母。这不是很清楚,所以这里有一个例子: 如果有 AAAAA BBBBBBBB CCCCC DDDDDD EEEEE FFFFFF GGGGGGHHHHHHHHHHHHHHHHHHHHHJJJKKKKKK LLLLLLLL MMMM nnnnnn ooooooo pppppppp QQQQQQQQ RRRR SSSSTTTTTT UUUUUUUUUUU VVVV WWWWWWWWWWW XXXXXX YYYYY ZZZZZZZ 它能

好的,大家好!所以我想知道是否有什么方法可以“排序”或删除太多的字母。这不是很清楚,所以这里有一个例子:

如果有

AAAAA BBBBBBBB CCCCC DDDDDD EEEEE FFFFFF GGGGGGHHHHHHHHHHHHHHHHHHHHHJJJKKKKKK LLLLLLLL MMMM nnnnnn ooooooo pppppppp QQQQQQQQ RRRR SSSSTTTTTT UUUUUUUUUUU VVVV WWWWWWWWWWW XXXXXX YYYYY ZZZZZZZ

它能否将其转换为:

abcdefghijklmnopqrstuvwxyz

那太好了!如果这也适用于字母组:

阿帕帕

将是:

APA

谢谢!我不介意任何操作系统(例如使用linux)。

使用简单的
循环
您可以迭代字符串,只保留与前一个字符不重复的字符。下面是一个C语言的示例代码

void simplify(char*dest,char const*source)
{
char previous_char='\0';
对于(;*源;++源)
{
如果(*源!=上一个字符)
{
*dest=*来源;
上一个字符=*源;
++目的地;
}
}
*dest='\0';
}
#包括/*printf*/
内部主(空)
{
字符源[]=“AAAAA BBBBBB CCCCCC DDDD EEEEEE FFFFFF GGGGGG HHHHHHHHHHHHHHHHHHHHIIII JJJJJJJKKKKKKK LLLLLL MMMM NNNNNN OOOO PPPP QQQQQQQ RRRR SSSS TTTTTTTT UUUUUUUUU VVVVVVWWWWWWWW XXXXXX YYYYY ZZZZZZZ”;
char dest[200];
简化(目的地、来源);
printf(“源:%s\n目标:%s\n”,源,目标);
返回0;
}
使用
groupby
如果您的编程语言已经有了处理字符串的库,那么您可能不必自己实现迭代。例如,使用
groupby
对重复的字母进行分组,然后每组只保留一个字母。以下是python中的示例代码:

从itertools导入groupby
以下各项:
返回“”。加入(c代表c,groupby中的组)
source=“aaaaaa bbbbbb ccccccc dddddd eeeeee ffffff gggg hhhhhhhhhhhhhhhhhhhhhhkkkkk llllllllllllllmmmm nnnnnnoooooooooopppppppppp qqqqqqqq rrrrrrr ssss tttt uuuuuuuuuuuuuuuuuuuuuvvvvvvvvvwwwwwwwxxxxxx yyyyyyyyyyyyy
dest=简化(源)
打印('Source:{}\nDest:{}\n'。格式(Source,dest))
groupby
做什么?它根据键对相邻元素进行分组。这里我们没有指定键,所以它将相同的相邻元素分组。
groupby('aaaaaa bbbbbbbb…zzzzzz')
的结果如下所示:

[('a', ['a', 'a', 'a', 'a', 'a', 'a']),
 ('b', ['b', 'b', 'b', 'b', 'b', 'b']),
 ...
 ('z', ['z', 'z', 'z', 'z', 'z', 'z'])]

其中每行上的第一件事是“键”,然后在括号中,我们有一组相邻的元素,具有相同的键。在我们的例子中,关键是元素本身,我们只想保留每个元素中的一个,所以我们只保留
c for c,groupby中的group

您使用的是什么语言?你已经试过什么了吗?为什么
APA
会导致
APA
?我希望
AP
APAPAPA
?或者它是递归地应用于组<代码>APAPA->A(PAA)(PAA)PA->APAPA->AP(A)(A)PA->APAPA->A(PA)(PA)->APA