删除字符“。”之前的字符。

时间:2010-06-02 15:52:17

标签: c#

如何有效地删除字符“。”之前放置的字符串中的所有字符?

输入: Amerika.USA

输出: USA

7 个答案:

答案 0 :(得分:109)

您可以使用IndexOf methodSubstring 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;
    }