两个字符串之间的差异C#

时间:2011-09-22 15:43:05

标签: c# string

假设我有两个字符串:

string s1 = "hello";
string s2 = "hello world";

有没有办法可以获得string s3 = " world";这两个字符串之间的区别?

修改

这种情况总是存在差异

s1 = "abc"
s2 = "abcd ads as "

6 个答案:

答案 0 :(得分:26)

使用string s3 = s2.Replace(s1, "");

编辑:请注意s1s2s3的所有{{1}}都不会出现。请务必仔细考虑此帖子上的评论,以确认这是您想要的结果,例如@mellamokb评论中提到的情景。

答案 1 :(得分:5)

string s1 = "hello";
string s2 = "hello world";
string s3 = s2.replace(s1,"");

答案 2 :(得分:5)

如果您定义的案例是正确的,则替代解决方案将是:

string s3 = s2.substring(s1.Length);

这假设第二个字符串以与第一个字符串完全相同的字符开头,您只想切断初始重复。

答案 3 :(得分:4)

使用简单的替换

string s3 = s2.Replace(s1, "");

答案 4 :(得分:2)

IF(大“如果”)s1始终是s2的子字符串,那么您可以使用.IndexOf.Length查找s2中的位置} s1是。

答案 5 :(得分:1)

在代码之外没有条件的第一个答案:

string s3 = null;
if (s2.StartsWith(s1))
{
    s3 = s2.Substring(s1.Length);
}