Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 两个字符串之间的差异#_C#_String - Fatal编程技术网

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

C# 两个字符串之间的差异#,c#,string,C#,String,假设我有两个字符串: string s1 = "hello"; string s2 = "hello world"; 有没有办法得到一个字符串s3=“world”这两个字符串之间的区别是什么 编辑: 在这种情况下,差异总是存在的 s1 = "abc" s2 = "abcd ads as " 使用字符串s3=s2。替换(s1,“”) 编辑:请注意,s2中出现的所有s1将在s3中消失。请务必仔细考虑这个帖子上的注释,以确认这是你想要的结果,例如在评论中提到的场景。 < P>如果(大的“如果”)

假设我有两个字符串:

string s1 = "hello";
string s2 = "hello world";
有没有办法得到一个
字符串s3=“world”这两个字符串之间的区别是什么

编辑:

在这种情况下,差异总是存在的

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

使用
字符串s3=s2。替换(s1,“”)

编辑:请注意,
s2
中出现的所有
s1
将在
s3
中消失。请务必仔细考虑这个帖子上的注释,以确认这是你想要的结果,例如在评论中提到的场景。

< P>如果(大的“如果”)<代码> S1 < /代码>始终是<代码> S2< /代码>的子串,那么你可以使用并找到“代码> S2< /代码> <代码> S1 < /Case>是。

< P>用简单的替换< /P>
string s1 = "hello";
string s2 = "hello world";
string s3 = s2.replace(s1,"");
string s3 = s2.Replace(s1, "");

如果您定义的案例是正确的,则备选解决方案为:

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

这是假定第二个字符串以与第一个字符串完全相同的字符开头,您只想切掉最初的重复。

第一个答案不带代码外的条件:

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

您需要更清楚地定义差异。关于
s1=“hello!”
s2=“hello world!”
的场景呢?或者
s1=“建筑商鲍勃”
s2=“建筑商鲍勃”
?一个字符串总是只包含另一个字符串的精确子字符串吗?更复杂的区别是什么。。。比如说,“abc”和“1bC4”,只要记住,如果s1在s2中出现不止一次,那么可能存在问题。如果s2=“hello hello”,那么这将返回一个空格,因为“hello”被多次匹配。@JB King-同意,我认为需要从OP获得更多关于“差异”确切含义的信息+对于mellamokbYou的评论,我的回答排在第二位,我试图给出我的答案,但已经有两个答案了