我想生成一个字符串的每个可能的连续子字符串,包括单词的结尾/从单词(循环)字母组合开始.我在Python中找到了一个例子,但我所知道的唯一语言是perl(而且几乎没有,我是初学者).如果有人可以帮助我将代码翻译为perl或帮助我在perl中找到解决方案,我将非常感激.
代码如下:
aa='ABCD'
F=[]
B=[]
for j in range(1,len(aa)+1,1):
for i in range(0,len(aa),1):
A=str.split(((aa*j)[i:i+j]))
B=B+A
C=(B[0:len(aa)*len(aa)-len(aa)+1])
Run Code Online (Sandbox Code Playgroud)
它给你:
C = ['A','B','C','D','AB','BC','CD','DA','ABC','BCD','CDA','DAB' ,'ABCD']`
#!/usr/bin/perl
use warnings;
use strict;
use feature qw{ say };
my $string = 'ABCD';
my @substrings;
for my $length (1 .. length $string) {
for my $pos (0 .. length($string) - 1) {
push @substrings, substr $string x 2, $pos, $length;
}
}
say for @substrings;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |