Как удалить все символы из строки до определенного символа
Предположим у меня есть строка A
, например:
string A = "Hello_World";
Я хочу удалить все символы до (и в том числе)_
. Точное количество символов перед _
могут различаться. В приведенном выше примере A == "World"
после удаления.
6 ответов
string a = "Hello_World";
a = a.Substring(a.IndexOf("_")+1);
попробовать? или A= часть в вашем A=Hello_World включена?
вы попробуете это:
string input = "Hello_World"
string output = input.Substring(input.IndexOf('_') + 1);
output = World
вы можете использовать метод IndexOf и метод подстроки.
создайте свою функцию следующим образом
public string RemoveCharactersBeforeUnderscore(string s)
{
string splitted=s.Split('_');
return splitted[splitted.Length-1]
}
используйте эту функцию следующим образом
string output = RemoveCharactersBeforeUnderscore("Hello_World")
output = World
public static string TrimStartUpToAndIncluding(this string str, char ch)
{
if (str == null) throw new ArgumentNullException("str");
int pos = str.IndexOf(ch);
if (pos >= 0)
{
return str.Substring(pos + 1);
}
else // the given character does not occur in the string
{
return str; // there is nothing to trim; alternatively, return `string.Empty`
}
}
который вы использовали бы так:
"Hello_World".TrimStartUpToAndIncluding('_') == "World"