0

好的所以我有这样的事情:

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

我想从最后一个字符中删除所有内容,直到第一个“。” 所以输出将永远是

某物

4

6 回答 6

5

这个怎么样:

str.Split('.').Last();
于 2012-04-16T13:03:33.533 回答
3

你可以用这个

str = str.Substring(str.LastIndexOf('.')+1);
于 2012-04-16T13:02:43.290 回答
1

字符串实例上有一大堆有用的方法。您查看的最佳位置是MSDN

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

String str2 = str.SubString(str.LastIndexOf('.') + 1);
于 2012-04-16T13:03:08.937 回答
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;
}
于 2012-04-16T13:29:09.930 回答
0

您可以像这样使用下面的拆分功能:

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"; 相同 谢谢..!

于 2012-04-16T13:05:34.247 回答
0

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

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

应用上述正则表达式,您将拥有一个名为“myGroup”的组,其值位于最后一个点之后

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

如果您需要正则表达式方面的进一步帮助,请这样说

于 2012-04-16T13:07:11.483 回答