から値 2 を抽出するにはどうすればよいですかstring pid = {id=2}
。
私のコードは次のようになります
string pidnew= pid.Substring(3,5)
エラーが表示されます。何か問題がありますか?
から値 2 を抽出するにはどうすればよいですかstring pid = {id=2}
。
私のコードは次のようになります
string pidnew= pid.Substring(3,5)
エラーが表示されます。何か問題がありますか?
のような文字列から個々の値を取得するにはstring pid = "{id=2, genderid=5, stateid=4}"
、次のメソッドを使用できます。
public string GetValue(string idPart, string test)
{
var escIdPart = Regex.Escape(idPart);
var pattern = string.Format("(?<=[\\{{\\s,]{0}\\s*=\\s*)\\d+", escIdPart);
var result = default(string);
var match = Regex.Match(test, pattern, RegexOptions.IgnoreCase);
if (match.Success)
{
result = match.Value;
}
return result;
}
...
var pid = "{id=2, genderid=5, stateid=4}";
var id = GetValue("id", pid); // returns "2"
var genderid = GetValue("genderid", pid); // returns "5"
var stateid = GetValue("stateid", pid); // returns "4"
数字が1つしかない場合は、それを正規表現できます
string pidnew = Regex.Match(pid, @"\d+").Value;
場所を気にする必要はありません
stateid で一致させたい場合:
string pidnew = Regex.Match(pid, @"(?<=stateid=)\d+",RegexOptions.IgnoreCase).Value;