C#字符串提取

ttcpu 2012-03-18 11:10:42
我想从一段字符串中提取有用的信息,怎么提取啊?C#有正则表达式吗?好像正则表达式很好提取、、
字符串:{
"long_name" : "美国",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "285 Bedford Ave, 布鲁克林纽约州 11211美国",
"geometry" : {
"location" : {
"lat" : 40.71412890,
"lng" : -73.96140740
},
我想提取的内容时:"formatted_address" : "285 Bedford Ave, 布鲁克林纽约州 11211美国"

改怎么做啊???高手指导下吧。。。。
...全文
205 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-03-18
  • 打赏
  • 举报
回复

string input = "yourString";
MatchCollection mc = Regex.Matches(input, @"(?is)<formatted_address>(?<value>(.*?))</formatted_address>");
List<string> list = new List<string>();
foreach (Match m in mc)
{
list.Add(m.Groups["value"].Value);//你要的结果就在list 中,多条也可以
}


pmars 2012-03-18
  • 打赏
  • 举报
回复

//非检查代码,手写,可能有错误,你看下吧
Regex reg = new Regex(@"(?<=<formatted_address>)(?<value>.*?)</formatted_address>");
string input = "yourString";
foreach(Match m in reg.Matches(input))
{
Console.WriteLine(m.Value);
}
ttcpu 2012-03-18
  • 打赏
  • 举报
回复
正则表达式结合哪个函数进行操作啊?[Quote=引用 8 楼 pmars 的回复:]

如果是固定的,那么这个正则,可以帮你
C# code
(?<=<formatted_address>)(?<value>.*?)</formatted_address>
[/Quote]
pmars 2012-03-18
  • 打赏
  • 举报
回复
如果是固定的,那么这个正则,可以帮你
(?<=<formatted_address>)(?<value>.*?)</formatted_address>
pmars 2012-03-18
  • 打赏
  • 举报
回复
formatted_address 这个名字是固定的,是么?
pmars 2012-03-18
  • 打赏
  • 举报
回复
.net里面的正则,是我看到过的最强大的!
(?<=}(?:(?![{}]).)+)"(?<name>[^"]*)"\s*:\s*"(?<value>[^"]*)"
ttcpu 2012-03-18
  • 打赏
  • 举报
回复
对不起搞错了。。应该是这样子的。。
字符串:
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<formatted_address>285 Bedford Ave, 布鲁克林纽约州 11211美国</formatted_address>
<address_component>
<long_name>285</long_name>
<short_name>285</short_name>
<type>street_number</type>
</address_component>
<address_component>
<long_name>Bedford Ave</long_name>
<short_name>Bedford Ave</short_name>
<type>route</type>
</address_component>
<address_component>
<long_name>威廉斯堡</long_name>
<short_name>威廉斯堡</short_name>
<type>neighborhood</type>
<type>political</type>
</address_component>

我需要的字符串是:285 Bedford Ave, 布鲁克林纽约州 11211美国
ycagri 2012-03-18
  • 打赏
  • 举报
回复

using System.Web.Extensions;
using System.Web.Script.Serialization;
public object FromJson(string json)
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Deserialize(json);
}
ycagri 2012-03-18
  • 打赏
  • 举报
回复
这是一个json字行串,转成json对象,就可以操作了

110,545

社区成员

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

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

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