使用字符串并替换

时间:2012-04-16 13:00:14

标签: c#

好的我有这样的事情:

String str = "Have.Fun.Something";
String str2 = "asd.sad.saw.sa.Something";

我想从最后一个字母中删除所有内容,直到第一个#34;。"所以输出总是

  

东西

6 个答案:

答案 0 :(得分:5)

这个怎么样:

str.Split('.').Last();

答案 1 :(得分:3)

您可以使用此

str = str.Substring(str.LastIndexOf('.')+1);

答案 2 :(得分:1)

字符串实例上有很多有用的方法。您最好看的地方是MSDN

在您的特定情况下,您可以使用substring和lastindexof。如果案件更复杂,我可能会建议RegEx,尽管这涉及更多。

String str2 = str.SubString(str.LastIndexOf('.') + 1);

答案 3 :(得分:0)

你可以使用Split功能如下:

String str = "Have.Fun.Something";
String str2 = "asd.sad.saw.sa.Something";

string[] Words= str.Split('.');

MessageBox.Show(Words[Words.Length-1].tostring());

像这样下面

东西

与String str2 =“asd.sad.saw.sa.Something”相同; 谢谢..!

答案 4 :(得分:0)

您可以使用正则表达式(正则表达式):

(?:.*)\.(?<myGroup>.*)

应用上面的正则表达式,你将有一个名为'myGroup'的组,它具有最后一个点之后的值

就个人而言,我喜欢这个选项,因为它可以在需要时为您提供进一步的可扩展性

如果您需要有关正则表达式的进一步帮助,请说明

答案 5 :(得分:0)

无错误的方法

public static string Substring(string input)
{
    if (!String.IsNullOrEmpty(input))
    {
        int lastIndex = input.LastIndexOf('.');
        if (lastIndex != -1)
            return input.Substring(lastIndex + 1);
    }

    return input;
}