请教关于字符串的问题

hzh117310703 2011-03-30 06:34:10
我想请教
我要提取 字符串“广东省广州市天河区”里面的“广州”出来。或者字符串“黑龙江省哈尔滨市"里面的“哈尔滨”出来,也是就字符串是动态的,我只需要提取城市的名称出去,请问如何实现呢?求DEMO
...全文
79 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzh117310703 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 huangwenquan123 的回复:]
C# code
string str = "广东省广州市天河区";
string str1 = "黑龙江省哈尔滨市";
string str2 = "上海市";
Regex reg = new Regex("(?<=省?)((?!省|市).)*(?=市)");
Resp……
[/Quote]
这位最好,不错。
huangwenquan123 2011-03-30
  • 打赏
  • 举报
回复
            string str = "广东省广州市天河区";
string str1 = "黑龙江省哈尔滨市";
string str2 = "上海市";
Regex reg = new Regex("(?<=省?)((?!省|市).)*(?=市)");
Response.Write(reg.Match(str).Value + "<br/>");
Response.Write(reg.Match(str1).Value + "<br/>");
Response.Write(reg.Match(str2).Value + "<br/>");
/*
结果:
广州
哈尔滨
上海
*/
hui_play 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hzh117310703 的回复:]
我个人答案:
string s="广东省广州市";
if(s.IndexOf('省')>=0)
{
int a=s.IndexOf('省')+1;
int b =s.IndexOf('市');
string x=s.Subsreing(a,b-a);
}
else
{
string x=s.Subsreing(0,2);
}
[/Quote]


哈哈,有点问题哦,如果市名是三个以上的字怎么搞。呵呵
hui_play 2011-03-30
  • 打赏
  • 举报
回复
这样应该可以:::::::
            string str = "广州市天河区";
int m = str.IndexOf("省");
int n = str.IndexOf("市");
string city="";
if(m!=-1)
{
city=str.Substring(m+1,n-m);
}
else
{
city=str.Substring(0,n);
}
hzh117310703 2011-03-30
  • 打赏
  • 举报
回复
我个人答案:
string s="广东省广州市";
if(s.IndexOf('省')>=0)
{
int a=s.IndexOf('省')+1;
int b =s.IndexOf('市');
string x=s.Subsreing(a,b-a);
}
else
{
string x=s.Subsreing(0,2);
}
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zilong4460072 的回复:]
引用 3 楼 x359981514 的回复:
像上海这样的毕竟不多 就写几个case?

很有道理阿 一般人想不出来
[/Quote]
对嘛

直辖市就那几个
zilong4460072 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 x359981514 的回复:]
像上海这样的毕竟不多 就写几个case?
[/Quote]
很有道理阿 一般人想不出来
Drinko 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jayinit 的回复:]

那就从”省“这个字算位置
到”市“这个字结束

IndexOf
SubString
[/Quote]


讲得还可以, 不错~
eclipse_xu 2011-03-30
  • 打赏
  • 举报
回复
像上海这样的毕竟不多 就写几个case?
hzh117310703 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jayinit 的回复:]
那就从”省“这个字算位置
到”市“这个字结束

IndexOf
SubString
[/Quote]

现在有这样的问题 字符串“上海市”,前面是没有省的
  • 打赏
  • 举报
回复
那就从”省“这个字算位置
到”市“这个字结束

IndexOf
SubString

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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