我有一些代码,它从标签中获取地址文本,并试图通过HTML换行来分割该字符串,以获得字符串数组中的每个地址行:
string[] straAddressLines = lbBillStreetAddress.Text.Split("<br/>".ToCharArray());
当标签包含小写r或b时,代码将这些字符解释为HTML换行符。例如,如果文本是";1 Albert Street";,得到的阵列是:
[0]: 1 Al
[1]: e
[2]: t St
[3]: eet
由于字符串中没有HTML中断,我希望它是:
[0]: 1 Albert Street
有人能告诉我这里发生了什么吗?我该如何阻止这种行为?我尝试过HTML和URL编码/解码,但没有区别。
这是因为您正在为Split
方法传递一个char
数组,所以它按每个字符分割字符串。由于要按<br/>
进行拆分,因此需要将其作为string
而不是char[]
:传递
lbBillStreetAddress.Text.Split(new [] { "<br/>" }, StringSplitOptions.None);
如果您使用的是.NET 5+(或.NET Core 2+(,那么有一个更方便的重载,它只需要一个字符串作为分隔符:
lbBillStreetAddress.Text.Split("<br/>");