现需要写一个拆分身份证住址的方法,需求如下1. 先拆出以省(直辖市、自治区)开头的信息2. 第二步拆出市(直辖市对应的为区)一级的信息3. 第三部拆出区(或者县)一级的信息4. 第四步拆出具体的住址。5. 此方法返回类型为string[]
如身份证信息为: 北京市海淀区中关村东大街***********
拆分后的效果为:
string[0] = "北京市";
string[1] = "海淀区";
string[2] = "中关村东大街***********"; 山东省济南市历下区***********
拆分后的效果为:
string[0] = "山东省";
string[1] = "济南市";
string[2] = "历下区";
string[3] = "***********"; 广西壮族自治区桂林市象山区***********
拆分后的效果为:
string[0] = "广西壮族自治区";
string[1] = "桂林市";
string[2] = "象山区";
string[3] = "***********";请各位高手帮帮忙,谢谢!
如身份证信息为: 北京市海淀区中关村东大街***********
拆分后的效果为:
string[0] = "北京市";
string[1] = "海淀区";
string[2] = "中关村东大街***********"; 山东省济南市历下区***********
拆分后的效果为:
string[0] = "山东省";
string[1] = "济南市";
string[2] = "历下区";
string[3] = "***********"; 广西壮族自治区桂林市象山区***********
拆分后的效果为:
string[0] = "广西壮族自治区";
string[1] = "桂林市";
string[2] = "象山区";
string[3] = "***********";请各位高手帮帮忙,谢谢!
解决方案 »
- socket编程求救
- c# datatable插入N/A(空数据)的问题
- 关于winform中应用debug和console.write
- 50分讨论C#
- 如何导入.txt文件,将数据存入数组。
- OCX控件如何放发到网页上去
- OracleCommandBuilder问题-Parameter 'p21': No size set for variable length data type: String
- 右键菜单
- 表格绘制的原理
- 学校要整一个P2P的项目纠结用REMOTING还是SOCKET
- 用GetWebPage(string uri, string method, string encode)采集www.sohu.com乱码问题
- 急!通过C#读取C++程序发出的指令,读到的都是“?”
应该可以了
你给个例子
string str = "北京市海淀区中关村东大街"; List<string> list = new List<string>();
char[] cs = new char[] { '省', '市', '区', '县' };
for (int i = 0; i < cs.Length; i++)
{
str = str.Replace(cs[i].ToString(), cs[i].ToString() + "|");
} string[] ss = str.Split(new char[]{'|'},StringSplitOptions.RemoveEmptyEntries); foreach (string s in ss)
Console.WriteLine(s);
//我只写了你提到的区域级别...如果有别的,自己加到cs中即可
xx省,省前至少有一字
xx市,市前至少有一字
xx路,路钱至少有一字东街市路,拆为东街,后市前无字,应为东街市,后路前无字,应为东街市路。
如果地址名称不规范,遍历不到,就只能按省市区县等关键字来尝试分割了
不知道这样行不行?
Console.WriteLine(m.Groups["city"].Value);
Console.WriteLine(m.Groups["street"].Value);
char[] cs = new char[] { '省', '市', '区', '县' };
for (int i = 0; i < cs.Length; i++)
{
str = str.Replace(cs[i].ToString(), cs[i].ToString() + "|");
} string[] ss = str.Split(new char[]{'|'},StringSplitOptions.RemoveEmptyEntries); foreach (string s in ss)
Console.WriteLine(s);
省份=idcard.substring(0,2)
地市=idcard.substring(2,2)
区县=idcard.substring(4,2)
if (aProv[int.Parse(idcard.Substring(0, 2))] == null)
{
info = "公民身份证号前两位不正确,不正确的地区码";
return result;
}
省份如下:
string[] aProv = new string[] { null, null, null, null, null, null, null, null, null, null,
null, "北京", "天津", "河北", "山西", "内蒙古", null, null, null, null,
null, "辽宁", "吉林", "黑龙江", null, null, null, null, null, null,
null, "上海", "江苏", "浙江", "安微", "福建", "江西", "山东", null, null,
null, "河南", "湖北", "湖南", "广东", "广西", "海南", null, null, null,
"重庆", "四川", "贵州", "云南", "西藏", null, null, null, null, null, null,
"陕西", "甘肃", "青海", "宁夏", "新疆", null, null, null, null, null,
"台湾", null, null, null, null, null, null, null, null, null,
"香港", "澳门", null, null, null, null, null, null, null, null,
"国外", null, null, null, null, null, null, null, null, null};