如何有效地删除字符“。”之前放置的字符串中的所有字符?
输入: 的 Amerika.USA
输出: 的 USA
答案 0 :(得分:109)
您可以使用IndexOf
method和Substring
method,例如:
string output = input.Substring(input.IndexOf('.') + 1);
以上没有错误处理,因此如果输入字符串中不存在句点,则会出现问题。
答案 1 :(得分:23)
你可以试试这个:
string input = "lala.bla";
output = input.Split('.').Last();
答案 2 :(得分:11)
string input = "America.USA"
string output = input.Substring(input.IndexOf('.') + 1);
答案 3 :(得分:4)
String input = ....;
int index = input.IndexOf('.');
if(index >= 0)
{
return input.Substring(index + 1);
}
这将返回新单词。
答案 4 :(得分:3)
public string RemoveCharactersBeforeDot(string s)
{
string splitted=s.Split('.');
return splitted[splitted.Length-1]
}
答案 5 :(得分:3)
一些方法,如果char不存在,则返回原始字符串。
这个在第一次出现枢轴后剪切字符串:
public static string truncateStringAfterChar(string input, char pivot){
int index = input.IndexOf(pivot);
if(index >= 0) {
return input.Substring(index + 1);
}
return input;
}
这一个在最后一次出现枢轴后切断字符串:
public static string truncateStringAfterLastChar(string input, char pivot){
return input.Split(pivot).Last();
}
答案 6 :(得分:0)
我通常用来解决此问题的扩展方法:
public static string RemoveAfter(this string value, string character)
{
int index = value.IndexOf(character);
if (index > 0)
{
value = value.Substring(0, index);
}
return value;
}
public static string RemoveBefore(this string value, string character)
{
int index = value.IndexOf(character);
if (index > 0)
{
value = value.Substring(index + 1);
}
return value;
}