1

私は2つの文字列を持っています:

string strone="what is your name?"
string strtwo="what is your name? what is your school name?"

ここでは、任意の文字列が大きくなる可能性があります。strtwo必要なのは、にない文字列を抽出することstroneです。

私が試したことはこれです:

IEnumerable<string> str=strtwo.Except(strone); //(returns only first character ie w)

stroneとを文字列配列に変換しようとstrtwoしましたが、各文字列を1つずつループしてstroneも、間に他の文字が含まれている可能性があるため、解決策は得られません。

私が必要としているのstrtwoは、にない文字列全体を順番に抽出することですstrone

4

5 に答える 5

3

この方法で2番目の文字列からテキストを抽出してみることができます

string diff = strtwo.Replace(strone,"");

これはあなたが探しているものであるあなたを出力するはずです" what is your school name?"、さもなければ他の例/ケースで質問を更新してください。

于 2012-07-23T11:10:38.323 に答える
3

最も簡単な方法は、以下を使用することReplaceです。

string strone="what is your name?";
string strtwo="what is your name? what is your school name?";

string finalStr = strtwo.Replace(strone, "");
于 2012-07-23T11:12:45.467 に答える
1

の結果を見てみませんか

strtwo.Split(new String[]{strone}, StringSplitOptions.RemoveEmptyEntries)

于 2012-07-23T11:15:21.430 に答える
1

文字列の最初の部分だけでなく、最後に差分を表示するものを探している場合は、差分の実装を見てください。ただし、基本的にはこのアルゴリズムを探しています。

ただし、文字列の最後の違いを探しているだけの場合は、@dasblinkenlightソリューションを参照してください

于 2012-07-23T11:01:29.217 に答える
1
string strone="what is your name?"
string strtwo="what is your name? what is your school name?"

string extractedString = strtwo.Replace(strone, "");
于 2012-07-23T11:14:12.343 に答える