我有一个字符串,其格式为\\ State\city"我想只返回State部分,然后只返回城市部分到各自的变量.我尝试使用模式^\\\\[a-zA-Z]\返回状态部分,然后是^\\[a-zA-Z]城市模式部分.结果总是一个空字符串.
state = Regex.Match("\\\Washington\\Seattle","^\\\\[a-zA-Z]\"].ToString();
Run Code Online (Sandbox Code Playgroud)
反斜杠用作转义字符.对于每个单(\)反斜杠,您需要两个反斜杠(\\).
此外,您不需要^在第二个正则表达式示例上使用行锚的开头,因为该部分显然不在字符串的开头.以下是如何执行此操作的示例.
String s = @"\\Washington\Seattle";
Match m = Regex.Match(s, @"(?i)^\\\\([a-z]+)\\([a-z]+)");
if (m.Success) {
String state = m.Groups[1].Value;
String city = m.Groups[2].Value;
Console.WriteLine("{0}, {1}", city, state); // => "Seattle, Washington"
}
Run Code Online (Sandbox Code Playgroud)