C# 使用C解析出扫描到asp文本框中的DL信息#
早上好…我正在开发一个信息亭程序,其中一个选项是允许人们插入他们的驾照进行登记…我想解析驾照中的信息…我已经能够实现90%的目标,但在获取最后一部分方面有点困难…即DOB…我对C#和学习仍然是新手当我去…任何帮助是非常感谢…下面是我正在使用的代码 HTMLC# 使用C解析出扫描到asp文本框中的DL信息#,c#,asp.net,C#,Asp.net,早上好…我正在开发一个信息亭程序,其中一个选项是允许人们插入他们的驾照进行登记…我想解析驾照中的信息…我已经能够实现90%的目标,但在获取最后一部分方面有点困难…即DOB…我对C#和学习仍然是新手当我去…任何帮助是非常感谢…下面是我正在使用的代码 HTML <asp:TextBox ID="TextBox1" runat="server" autofocus ontextchanged="TextBox1_TextChanged" MaxLength="1000"></asp:
<asp:TextBox ID="TextBox1" runat="server" autofocus ontextchanged="TextBox1_TextChanged" MaxLength="1000"></asp:TextBox>
从文本框中解析的信息如下:
插入的卡^Smith$John ^123 Main^=19780101
结果如下:
约翰·史密斯123 Main=1978010
结果应如下所示:(能够将DOB信息转换为MM-DD-YYYY格式也很好…但此时不需要)
约翰·史密斯123大街19780101号
为什么会显示=符号,为什么会切断DOB的最后一个编号
这可能是一个非常简单的解决方案…但我遇到了麻烦…再次感谢您的帮助
我编辑了以下代码,它可以工作:
int begdob = s.IndexOf("=", begaddress + 1);
int enddob = s.IndexOf("?", endaddress + 1);
string dob = s.Substring(endaddress + 2, enddob - begdob - 1);
但是…如果我的字符串如下所示:
插入的卡^Smith$John ^1123 Main ^459846=895519780101
我很难解析出DOB…下面是我得到的:
约翰·史密斯1123 Main 59846=895519
我需要从这个字符串中获得以下内容:
约翰·史密斯1123大街19780101号
再次感谢您的帮助…此操作不起作用的原因是以下代码:
string dob = s.Substring(endaddress + 1, enddob - begdob - 1);
首先,当第二个填充字符为“=”时,只看地址末尾的一个字符。其次,由于DOB字段始终为8个字符,因此应该从填充字符向后执行子字符串,长度为8个字符
因此:
您的问题是这行代码:
string dob=s.Substring(endaddress+1,enddob-begdob-1)代码>
如果查看字符串^Smith$John^123 Main^=19780101?
可以看到endaddress+1
实际上是指=
的开始索引。根据你的代码你想做什么。。。这样做字符串dob=s.Substring(begdob+1,enddob-begdob-1)代码>
这会让你得到你想要的。谢谢你的帮助……它就像冠军一样有效!!!我感谢你抽出时间来帮助我…圣诞快乐,新年快乐!!!
string dob = s.Substring(endaddress + 1, enddob - begdob - 1);
string dob = s.Substring(s.IndexOf("?", endaddress + 1) - 8, 8);