1

我有两个字符串:

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为字符串数组,但是一个一个地循环遍历每个字符串不会提供解决方案,因为它们strone之间可能包含其他字符。

我需要的是按顺序提取整个字符串strtwo,而不是在strone.

4

5 回答 5

3

您可以尝试以这种方式从第二个字符串中提取文本

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
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 回答
1

为什么不看结果

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

?

于 2012-07-23T11:15:21.430 回答
1

如果您寻找的不仅仅是比较字符串的第一部分并在最后显示差异,那么请查看Diff Implementation,但基本上您正在寻找This Algorithm

但是,如果您只是在寻找字符串末尾的差异,请查看@dasblinkenlight 解决方案

于 2012-07-23T11:01:29.217 回答