2016-06-27 3 views
-2

私はasp.net Webアプリケーションで作業しています。 最初の "。"文字から始まるすべての文字を含むサブ文字列を取り出す方法

  • ABC.test.local.co
  • ABC.test.local
  • ABCを

    • :と私は次のようにサーバー名とドメイン名を含め、当社のERPシステムから取得された多くのサーバ名を、持っています
    • ABC.local

    だから私はいつも上からドメイン名を取得する方法を見つけようとしています。ルールは次のとおりです。最初の "。"文字からすべての文字を抽出します。最後まで?私が取得する上記4弦用ので

    • .test.local
    • .test.local.co
    • 空の文字列
    • .localの

    ことができます誰かアドバイスをお願いしますか?

    おかげ

    +1

    あなたは、私は通常、インデックスと.substring使う正直に言うと、非ラッキー@ –

    +0

    を試してみましたが、コードを表示させる、これを試してみてください値は、最初の "。"からインデックスを取得するために言及する人が不明ですか? –

    +0

    あなたは '.Contains'メソッド..または' StartsWith or EndWith'を使うことができるstring.Split()関数にも精通していますか?これにはさまざまなアプローチがあります。あなたは実際にあなた自身で試してみました.. 'IndexOf'は始めるには良い場所です.. – MethodMan

    答えて

    1

    これは、それは本当に簡単な

    string domain = "ABC"; 
    domain = domain.Contains(".") ? domain.Substring(domain.IndexOf(".")) : string.Empty; 
    
    +1

    それはちょうどABCと異なるかもしれません。彼はそれを例のために使用しました。彼は実際に最初のドットからテキストを望んでいました。 – Sak

    +1

    私は知っている、彼の例のすべてのテキストで動作します。最初のドットの後にすべてのテキストを表示し、ドットがない場合は空の文字列になります –

    0

    あなたは本当にあなたが試したし、あなたの立ち往生されたコードをリストする必要があります。あなたのコメントによると、インデックス値を使用します。これはまったく同じことで、あなたが望む結果を得ることができます。

    string tString = "ABC.test.local"; 
         int ind = tString.IndexOf('.'); 
         if (ind > -1) 
          tString = tString.Substring(ind); 
         else tString = ""; 
    
    0

    string s = "ABC.test.local"; 
    int i = s.IndexOf('.'); 
    s = s.Substring(i, s.Length - i); 
    
    関連する問題