惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - Aowind

Freeswitch 安装爬坑记录1 兜兜转转,最后还是又回来研发了。 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 好久没有写随笔了,记录个旋转算法。 我的G1,1.6固件,用起来越来越感觉不错了 JSON定义AS项目界面 - Aowind - 博客园 [转]将数据库表存入内存中,随时调用 [转]asp.net中对DataTable数据进行排序、检索、合并、分页、统计 - Aowind - 博客园 AjaxPro快速入门 最近的工作 光阴真的是贱(似箭),一不小心就又过一年了 简单的无框架Ajax应用 一个事件应用的例子 [转载]P2P之UDP穿透NAT的原理与实现 [转载].Net和Flash如何进行数据交互 一个实例来简单的说明接口 自己写的一个asp.net的生成曲线图的过程 利用Ajax技术写一个迷你留言板WEB控件 用于模拟短信群发情况的随机数产生
有关Asp里Split函数使用多个分割符的方法
Aowind · 2006-12-01 · via 博客园 - Aowind

首先,我在知道Split这个函数的作用,是把一个字符串按指定的分割符分割成一个字符串数组。
ASP里有这个Split,是这样定义的dim Split(byval source as string ,byval str as string) as string()
source是源字符串,str是分隔符
我这里用了VB.net的写法,方便说明返回值的类型和参数的类型。
大家一看就明白怎么用了。

在C#里,我们是这样用的
string[] Split(string source,char[] char)
在这里Char是一个Char[]数组,我们在使用时可以这样设定new char[]{','} 这样就只定义了一个分割符,还可以用new char[]{',','.','#'}来定义多个分割符。这在C#里是很简单的一种用法。

可以在ASP里要使用多个分割符来分割字符串,应该怎么做呢?
Asp里的Split只能给一个字符串参数来当分割符。我查阅了一些资料,没有找到ASP里的Split定义多个分割符的方法。
看来只有自己处理了,最后找出一种方法:先把源字符串里我们认为要被当做分割符的字符都转换成一个特定的字符,比如“,”。然后我们再用这个特定的分割符来进行分割,例子如下:
  lcontent=Replace(lcontent,".",",")
  lcontent=Replace(lcontent," ",",")
  lcontent=Replace(lcontent,"。",",")
  lcontent=Replace(lcontent,"、",",")
  lcontent=Replace(lcontent,"\",",")
  lcontent=Replace(lcontent,"/",",")
  lcontent=Replace(lcontent,"#",",")
  lcontent=Replace(lcontent,"*",",")
  lcontent=Replace(lcontent,"&",",")
  lcontent=Replace(lcontent,":",",")
  lcontent=Replace(lcontent,";",",")
  rec=Split(lcontent,",")

这样就实现了Asp里的Split使用多个分割符的方法了。

学而无思则不进,所以接下来想到了C#里的Split的工作方法。
怎么样能达到不错的效率呢?如果它先用char[0]来分割字符串,然后再用char[1]分割,再用char[2],char[3]... 这样多次分割后再组成一个数组来得到最终的结果。似乎这样做的效率并不高,个人觉得也不会用这种方法来处理。

所以个人觉得C#里的Split可以也是按上面ASP里的方法来实现的Split的char[]分割?先用把source里和Char[]的相同的字符都转成一个特定的分割符,或许不是',' 或许是一个我们字符串里基本不可能出现的Char,这样安全性更高。然后再用这个特定的分割符来进行分割。这样效率应该会高不少。

那么C#里到底是不是这样实现的,或者更高效的方法呢?希望有达人来指教分析一下。