正则表达式如何提取地址中的省市???

西安风影 2007-09-04 10:02:16
比如:string str ="浙江省杭州市某街道118号";
如何利用正则表达式提取出 浙江和杭州
C#
...全文
1990 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuxue1342 2007-09-04
  • 打赏
  • 举报
回复
我试了过客。好像取不到。你试试这样应该可以!
Dim address As String = "浙江省杭州市某街道118号"
Dim pro As String = String.Empty
Dim city As String = String.Empty
Dim m As Match = Regex.Match(address, "(?<pro>.*?)省(?<city>.*?)市")
If m.Success Then
pro = m.Groups(1).Value
city = m.Groups(2).Value
End If
就是通过序号!
-过客- 2007-09-04
  • 打赏
  • 举报
回复
try

string str = "浙江省杭州市某街道118号";
string pro = string.Empty;
string city = string.Empty;
Match m = Regex.Match(str, @"(?<pro>.*?)省(?<city>.*?)市");
if (m.Success)
{
pro = m.Groups["pro"].Value;
city = m.Groups["city"].Value;
}
chuxue1342 2007-09-04
  • 打赏
  • 举报
回复
你用indexof比较简单
pro=substring(string,0,string.indexof("省"))
city=srubstring(string,string.indexof("省"),string.indexof("市"))
xu770 2007-09-04
  • 打赏
  • 举报
回复
substring 和 index 不能用吗?
watson110 2007-09-04
  • 打赏
  • 举报
回复
没见过这么取的,帮顶了
tds__609 2007-09-04
  • 打赏
  • 举报
回复
mark
qqfishqq 2007-09-04
  • 打赏
  • 举报
回复
如果不用正则,定位到省截取前面的,定位到市,同样截取省和市中间的字符
honey52570 2007-09-04
  • 打赏
  • 举报
回复
mark
xiaoyu1008 2007-09-04
  • 打赏
  • 举报
回复
楼上xiaoks(小KS)说的还真是个问题,截取字符串时加上个分支叛断就解决了.
xiaoks668 2007-09-04
  • 打赏
  • 举报
回复
还是换个思路吧,要是遇到直辖市或者XX自治区怎么办?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧