特定の文字までの部分文字列を見つけるにはどうすればよいですか? 私が望むのは、次のようなものの部分文字列を見つけることです:
172.20.9.93\randDir
IPAddress、つまり「\」が存在する場合は「\」までのすべてが必要です。部分文字列でこれを行う方法はありますか、またはこれを行うより良い方法はありますか?
IPAddress、つまり「\」が存在する場合は「\」までのすべてが必要です。
2 つのオプション:
\
を使用して最初のインデックスを見つけIndexOf
、次に使用しますSubstring
int firstSlash = text.IndexOf('\\');
string ipAddress = firstSlash == -1 ? text : text.Substring(0, firstSlash);
\
を使用して分割しString.Split
、最初の部分を取る
string ipAddress = text.Split('\\')[0];
正規表現の一致を使用してみてください。
var input = @"172.20.9.93\rand";
var output = Regex.Match(input, @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b");
Console.WriteLine(output.Value);