2017-03-05 3 views
-1

文字列があり、このサブ文字列を取得したいと思います。 [10:30〜11:30]。C#で文字列を分割する方法

私はそれを行う方法はありません。 強いテキスト

文字列a = "これは-10:30〜11:30-の文字列です。

答えて

1

最初と最後のダッシュを取得するには、IndexOfLastIndexOfを使用する必要があります。

var firstDash = a.IndexOf("-"); 
var lastDash = a.LastIndexOf("-"); 

var timePeriod = a.Substring(firstDash + 1, lastDash - 1); 

そうである必要があります。部分文字列メソッドの読み込みがどこで行なわれなかったのか分からない場合は、+1と-1で再生してください。

firstDashlastDashの結果を確認することもできます。いずれかの値が-1の場合、ターゲット文字列または文字が見つかりませんでした。

+0

ありがとうHusein Roncevic。それは素晴らしい。 –

1

Regexを使用して希望の文字列を取得できます。これを行うには、以下のコードを試してください。
正規表現の例:Regex Test Link

CODE:

using System; 
using System.Text.RegularExpressions; 

public class Program 
{ 
    public static void Main() 
    { 
     string a = "This is my string at -10:30 to 11:30-"; 
     string pat = @"[0-9]{2}:[0-9]{2}\sto\s[0-9]{2}:[0-9]{2}"; 

     // Instantiate the regular expression object. 
     Regex r = new Regex(pat, RegexOptions.IgnoreCase); 

     // Match the regular expression pattern against a text string. 
     Match m = r.Match(a); 
     if(m.Success){ 
      Console.WriteLine(m.Value); 
     } 
     else 
     { 
      Console.WriteLine("Nothing"); 
     }  
    } 
} 
0

私はあなたの最も簡単なコードを挙げてみましょう。正規表現は上記と同じです。

String result = Regex.Match(a, "[0-9]{2}:[0-9]{2}\s*to\s*[0-9]{2}:[0-9]{2}").ToString(); 
関連する問題