C#"河北省石家庄市长安区胜利北省街436好市"怎样分别获取第一次出现的省市
时间: 2023-07-21 16:56:46 浏览: 37
同样可以使用正则表达式来匹配省市信息。以下是一个C#示例代码:
```csharp
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
string text = "河北省石家庄市长安区胜利北街436号";
string pattern = @"(.*?(省|自治区|特别行政区))(.*?(市|自治州|地区))";
Match match = Regex.Match(text, pattern);
if (match.Success)
{
string province = match.Groups[1].Value;
string city = match.Groups[3].Value;
Console.WriteLine("省份:{0}", province);
Console.WriteLine("城市:{0}", city);
}
else
{
Console.WriteLine("未匹配到省市信息。");
}
}
}
```
这个代码会输出:
```
省份:河北省
城市:石家庄市
```
正则表达式 `@"(.*?(省|自治区|特别行政区))(.*?(市|自治州|地区))"` 的意思和 Python 示例中的一样。需要注意的是,C#中的字符串需要使用 `@` 符号来表示原始字符串,这样可以避免转义符的影响。另外,匹配到的分组可以通过 `Groups` 属性来获取其匹配到的内容。