假设我有一个字符串 A
,例如:
string A = "Hello_World";
我想删除所有位于(包括)_
之前的字符。在_
之前的确切字符数可能会有所不同。在上面的示例中,删除后A == "World"
。
string A = "Hello_World";
string str = A.Substring(A.IndexOf('_') + 1);
您已经收到了一个非常好的答案。如果您愿意再进一步,您可以将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"
string a = "Hello_World";
a = a.Substring(a.IndexOf("_")+1);
你可以尝试这个吗?或者你的A=Hello_World中包含了A=部分吗?
var foo = str.Substring(str.IndexOf('_') + 1);
string orgStr = "Hello_World";
string newStr = orgStr.Substring(orgStr.IndexOf('_') + 1);
你可以通过创建子字符串来实现这一点。
这里有一个简单的示例:
public static String removeTillWord(String input, String word) {
return input.substring(input.indexOf(word));
}
removeTillWord("I need this words removed taken please", "taken");