C# 如何删除特定字符之前字符串中的所有字符
假设我有一个字符串C# 如何删除特定字符之前字符串中的所有字符,c#,string,substring,trim,C#,String,Substring,Trim,假设我有一个字符串a,例如: string A = "Hello_World"; 我想删除之前(包括)的所有字符。前的确切字符数可能会有所不同。在上面的示例中,删除后,A==“World” var foo = str.Substring(str.IndexOf('_') + 1); 试试这个?或者您的A=Hello\u世界中的A=部分是否包括在内?您已经收到。如果您愿意更进一步,您可以将a.SubString(a.IndexOf(“”“)+1)封装在一个健壮灵活的扩展方法中: string
a
,例如:
string A = "Hello_World";
我想删除之前(包括)的所有字符。前的确切字符数可能会有所不同。在上面的示例中,删除后,A==“World”
var foo = str.Substring(str.IndexOf('_') + 1);
试试这个?或者您的A=Hello\u世界中的A=部分是否包括在内?您已经收到。如果您愿意更进一步,您可以将a.SubString(a.IndexOf(“”“)+1)
封装在一个健壮灵活的扩展方法中:
string A = "Hello_World";
string str = A.Substring(A.IndexOf('_') + 1);
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"
可以通过创建子字符串来实现这一点
简单的例子如下:
publicstaticstringremovetillword(字符串输入,字符串字){
返回input.substring(input.indexOf(word));
}
removeTillWord(“我需要删除此词,请删除”、“删除”)代码>
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"