【发布时间】:2013-01-04 16:35:27
【问题描述】:
请告诉我哪个在 RegEx 或带 IsLetter 的循环方面的性能更好。
这两种方法我都试过了,发现 RegEx 比 For Loop 花费的时间多一点...
Dim vStr1 As String, vStr2 As New StringBuilder
vStr1 = "Testadfasdfadsfasdfadsfas12312dfadsfdsa23131fadsfsadfsadf1sss 23 -1234"
Method 1
-------------------
vStr2.Clear()
For Each vChr In vStr1
If Char.IsLetter(vChr) = False Then vStr2.Append(vChr)
Next
vStr1 = vStr2.ToString
-------------------------
Method 2
-------------------
vStr1 = Regex.Replace(vStr1, "[A-Za-z^s]", "")
【问题讨论】:
-
什么更好?表现?代码行数少?还有什么?
-
在性能方面使用大字符串编辑数据表中的大量行...
-
数据表?这有在错误的地方解决问题的味道。如果您正在从数据库中读取内容并在之后将其持久化,我的猜测是您正在寻找优化错误的代码