【发布时间】:2013-10-18 14:25:21
【问题描述】:
所以我有一个字符串列表,每个位置都包含逗号分隔的值,如下所示:
AUSTIN,ORL2,ORL6
CHA,INDY
等等。有没有办法使用正则表达式来匹配值并替换/重用匹配的值来生成一个新的字符串,像这样:
<a href='details.aspx?location=AUSTIN'>AUSTIN</a>, <a href='details.aspx?location=ORL2'>ORL2</a>, <a href='details.aspx?location=ORL6'>ORL6</a>
<a href='details.aspx?location=CHA'>CHA</a>, <a href='details.aspx?location=INDY'>INDY</a>
我知道使用 split(",") 然后循环遍历生成的数组要容易得多,但在我的特殊情况下,我想知道是否可以只生成新字符串而不必拆分和循环每个列表位置。
感谢您的帮助。
【问题讨论】:
-
当然可以,但可能不会为您带来任何显着的性能提升,并且可能会让下一个遇到它的人感到困惑。
-
Regex 是适合这项工作的错误工具。如果您知道您的数据总是像您在问题中显示的那样简单,那么请执行简单的拆分(“,”)。否则,请考虑使用 CSV 库,例如 codeproject.com/Articles/9258/A-Fast-CSV-Reader,甚至是内置的 Oledb 提供程序。