【发布时间】:2015-01-26 19:06:06
【问题描述】:
假设我有一个字符串A,例如:
string A = "Hello_World";
我想删除直到(包括)_ 的所有字符。 _ 之前的确切字符数可能会有所不同。在上面的例子中,A == "World" 删除后。
【问题讨论】:
假设我有一个字符串A,例如:
string A = "Hello_World";
我想删除直到(包括)_ 的所有字符。 _ 之前的确切字符数可能会有所不同。在上面的例子中,A == "World" 删除后。
【问题讨论】:
string A = "Hello_World";
string str = A.Substring(A.IndexOf('_') + 1);
【讨论】:
您已经收到a perfectly fine answer。如果您愿意更进一步,您可以将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");
【讨论】: