当段是最大长度或以特定字符结束时,将字符串解析为段的方法
本文关键字:字符串 方法 结束 字符 | 更新日期: 2023-09-27 18:12:51
我希望在c#中解析出一个字符串,以从字符串中获得相关的数据段。
部分数据流的规则为Address,规则集为:
地址行之间有$。如果少于29个字符,以" ^ "结尾。
一些例子:
28 Atol Av$Suite 2$^
海华塔公园$Apt 2037^
340 Brentwood Dr.$Fall Estate
对于段还有其他类似的规则,但是如果我对这个段有一个坚实的计划,我可以修改它以用于其余的解析。
我想知道是否有一个正则表达式可以使用。
。{0,29}'^这似乎行得通。我一开始没有转义^
谢谢,丹
您可以使用string.Split()
来完成此操作。
string [] substrings = string.Split('$');
现在你有一个字符串数组,包含'$'
字符之间的值。
然后,我想象你只是想摆脱'^'
字符在数组的最后一个元素(如果它存在)。
int index = substrings.Length - 1;
substrings[index] = substrings[index].TrimEnd('^');
您可以使用正则表达式和Regex.Split(),但是如果您需要做的只是在'$'
上分割并修剪'^'
,那么您真的不需要它。为此编写正则表达式是多余的。
EDIT:现在我想到了,您可以拆分'$'
和'^'
并丢弃空条目,从而节省了修剪步骤。
string [] substrings = string.Split("$^".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
我将保留预编辑代码,因为它更明确,并且更好地解释了用法。