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

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 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#里到底是不是这样实现的,或者更高效的方法呢?希望有达人来指教分析一下。