Разница между двумя строками С#
Предположим, что у меня две строки:
string s1 = "hello";
string s2 = "hello world";
Есть ли способ получить string s3 = " world";
, что является разницей между двумя строками?
EDIT:
Разница всегда будет в этом сценарии
s1 = "abc"
s2 = "abcd ads as "
Ответы
Ответ 1
Используйте string s3 = s2.Replace(s1, "");
EDIT: Обратите внимание, что все вхождения s1
в s2
будут отсутствовать в s3
. Обязательно внимательно изучите комментарии к этому сообщению, чтобы подтвердить, что это ваш желаемый результат, например сценарии, упомянутые в комментарии @mellamokb.
Ответ 2
string s1 = "hello";
string s2 = "hello world";
string s3 = s2.replace(s1,"");
Ответ 3
Если случай, который вы определили, верен, альтернативным решением было бы следующее:
string s3 = s2.substring(s1.Length);
Предполагается, что вторая строка начинается с тех же символов, что и первая строка, и вы просто хотите отрубить первоначальное дублирование.
Ответ 4
С помощью простой замены
string s3 = s2.Replace(s1, "");
Ответ 5
IF (большой "if" ) s1
всегда является подстрокой s2
, тогда вы можете работать с .IndexOf
и .Length
, чтобы найти, где находится s2
, что s1
.
Ответ 6
Первый ответ без условий вне кода:
string s3 = null;
if (s2.StartsWith(s1))
{
s3 = s2.Substring(s1.Length);
}