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を使用できます。ケースがもっと複​​雑な場合は、おそらくもっと複雑ですが、正規表現をお勧めします。

String str2 = str.SubString(str.LastIndexOf('.') + 1);
于 2012-04-16T13:03:08.937 に答える
0

あなたはこのように以下の分割機能を使用することができます:

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

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

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

このように以下を取得

何か

文字列と同じstr2="asd.sad.saw.sa.Something"; ありがとう..!

于 2012-04-16T13:05:34.247 に答える
0

正規表現(regex)を使用できます。

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

上記の正規表現を適用すると、最後のドットの後の値を持つ「myGroup」という名前のグループが作成されます

個人的には、必要に応じてスケーラビリティが向上するため、このオプションが気に入っています。

正規表現についてさらにサポートが必要な場合は、そのように言ってください

于 2012-04-16T13:07:11.483 に答える
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 に答える