の「半ストリング」私は私はこのような特定の文字列のすべての部分文字列を取得することができます知っている:セットで私に次のような結果が得られますすべての部分文字列と文字列
String inputString = "abcde";
java.util.Set<String> substrings = new java.util.TreeSet<>();
int strLength = inputString.length();
for(int i=0; i<strLength; i++)
for(int j=0; j<=strLength-i; j++)
substrings.add(inputString.substring(i, i+j));
を:
a, ab, abc, abcd, abcde, b, bc, bcd, bcde, c, cd, cde, d, de, e,
しかし、私は何とか代わりに以下のリストを取得したい:
a, ab, abc, abcd, abcde, abce, abd, abde, abe, ac, acd, acde, ace, ad, ade, ae, b, bc, bcd, bcde, bce, bd, bde, be, c, cd, cde, ce, d, de, e
だから、すべての部分文字列に加えて、間に1つまたは複数の文字を削除すると、文字列が必要になります(つまり、 ace
を削除することによってb
およびd
)。
これを達成する最も簡単な方法は何ですか?
注:すべての文字は同じ順序のままでなければなりません。そうでなければ、文字列のすべての置換をそれらの文字列のすべての部分文字列と組み合わせます。
を使用して1
char[i]
削除4つの文字出力のための右の順@NikolasCharalambidis私はそれを言い直しますが、私はそれが私が探している結果であることを意味しました。私はこれをどのように達成するのか分かりません。 –