文字列があり、このサブ文字列を取得したいと思います。 [10:30〜11:30]。C#で文字列を分割する方法
私はそれを行う方法はありません。 強いテキスト
文字列a = "これは-10:30〜11:30-の文字列です。
文字列があり、このサブ文字列を取得したいと思います。 [10:30〜11:30]。C#で文字列を分割する方法
私はそれを行う方法はありません。 強いテキスト
文字列a = "これは-10:30〜11:30-の文字列です。
最初と最後のダッシュを取得するには、IndexOf
とLastIndexOf
を使用する必要があります。
var firstDash = a.IndexOf("-");
var lastDash = a.LastIndexOf("-");
var timePeriod = a.Substring(firstDash + 1, lastDash - 1);
そうである必要があります。部分文字列メソッドの読み込みがどこで行なわれなかったのか分からない場合は、+1と-1で再生してください。
firstDash
とlastDash
の結果を確認することもできます。いずれかの値が-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");
}
}
}
私はあなたの最も簡単なコードを挙げてみましょう。正規表現は上記と同じです。
String result = Regex.Match(a, "[0-9]{2}:[0-9]{2}\s*to\s*[0-9]{2}:[0-9]{2}").ToString();
ありがとうHusein Roncevic。それは素晴らしい。 –