假设我有一个字符串A
,例如:
string A = "Hello_World";
我想删除_
之前的所有字符(包括)。 _
之前的确切字符数可能会有所不同。在上面的示例中,删除后A == "World"
。
答案 0 :(得分:13)
string A = "Hello_World";
string str = A.Substring(A.IndexOf('_') + 1);
答案 1 :(得分:1)
string a = "Hello_World";
a = a.Substring(a.IndexOf("_")+1);
试试这个?或者A =你的A = Hello_World中的A =部分?
答案 2 :(得分:1)
你试试这个:
string input = "Hello_World"
string output = input.Substring(input.IndexOf('_') + 1);
output = World
您可以使用IndexOf方法和Substring方法。
像这样创建你的功能
public string RemoveCharactersBeforeUnderscore(string s)
{
string splitted=s.Split('_');
return splitted[splitted.Length-1]
}
像这样使用此功能
string output = RemoveCharactersBeforeUnderscore("Hello_World")
output = World
答案 3 :(得分: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"
答案 4 :(得分:0)
var foo = str.Substring(str.IndexOf('_') + 1);
答案 5 :(得分:0)
string orgStr = "Hello_World";
string newStr = orgStr.Substring(orgStr.IndexOf('_') + 1);
答案 6 :(得分:0)
您可以通过创建子字符串来做到这一点。
简单示例在这里:
public static String removeTillWord(String input, String word) {
return input.substring(input.indexOf(word));
}
removeTillWord("I need this words removed taken please", "taken");