- 浏览: 1040788 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能需要加入分隔符(如CSV文件中的逗号),或使用一个分隔符来合并字符串序列。
很多人都知道使用split()的方法,但使用与其对应的Join()方法的人就没有那么多。今天,让我们看看它们的应用。
Split() – 根据分隔符切割字符串成几部分
分割符可以是以下几种形式中的一种:
- 只有一个字符的数组:
- 比方对于“A,B,C,D,E,F” 可以使用 ‘,’ 或者 new [] { ‘,’ }
- 有多个字符的数组:
- 比方对于“A,B-C,D*E,F”使用 new [] { ‘,’ ‘-‘ ‘*’ } :
- 只有一个字符串的数组:
- 比方对于 “A=>B=>C=>D=>E=>F” new [] { “=>” }
- 有多个字符串的数组 :
- 比方对于 “A=>B<=C=>D<=E=>F”使用 new [] { “=>”, “<=” }
让我们在实例中看看:
string testString = "James Hare,1001 Broadway Ave,St. Louis,MO,63101";
//传递的分割可以是一个数组
string[] results = testString.Split(new[] { ',' });
//或者在asp.net 4.0 下传递单独的一个char
results = testString.Split(',');
得到的结果如下
对待同样的字符串,我们使用 ‘,’ 和 ‘ ‘ (空格):
string testString = "James Hare,1001 Broadway Ave,St. Louis,MO,63101";
//传递一个数组作为分割的标记
string[] results = testString.Split(new[] { ',', ' ' });
//或者在4.0 下可以直接这样传递
results = testString.Split(',', ' ');
得到下面的结果:
使用 string 作为分割符用法是基本一样的:
string testString = "James Hare,,1001 Broadway Ave,St. Louis,MO,63101"; string[] results = testString.Split(new[] { ",," }, StringSplitOptions.None);
结果:
注意在这里我们必须要提供一个 StringSplitOptions 的选择.
这个枚举的类型有两个值:
- StringSplitOptions.None: 包含返回的数组中的空数组元素.
- StringSplitOptions.RemoveEmptyEntries: 省略返回的数组中的空数组元素.
最后, Split() 有一个形式是让你可以限制返回数组元素数量的. 在这种情况下,前面 n-1 的 元素基于你的条件生成,最后一个则是剩下的没有被分割的部分:
string testString = "James Hare,,1001 Broadway Ave,,,St. Louis,MO,63101"; //返回含有两个元素的数组. string[] results = testString.Split(new[] { ',' }, 2, StringSplitOptions.None); for (int i = 0; i < results.Length; i++) { Console.WriteLine("\tElement {0}: \"{1}\"", i, results[i]); }
使用限制数量的结果是:
注意第二个元素还包含了’,’。
Join() – 串联对象数组的各个元素,其中在每个元素之间使用指定的分隔符
参数
要用作分隔符的字符串。
一个数组,其中包含要连接的元素。
返回值
类型:System.String
一个由 values 的元素组成的字符串,这些元素以 separator 字符串分隔。
看下面的例子,用StringBuilder来实现串联一组字符串:
string[] parts = { "Apple", "Orange", "Banana", "Pear", "Peach" }; var builder = new StringBuilder(); for (int i = 0; i < parts.Length; i++) { builder.Append(parts[i]); // 将最后一个','去掉 if (i != parts.Length - 1) { builder.Append(", "); } } // 结果是 "Apple, Orange, Banana, Pear, Peach" var result = builder.ToString();
用 string.Join() 可以轻松实现:
string[] parts = { "Apple", "Orange", "Banana", "Pear", "Peach" }; var result = string.Join(", ", parts);
很多人可以没有意识到 Join() 可以合并任何类型,如 int, DateTime, double, 或其他自定义的类型!
当调用 string.Join() 合并非字符串的数值时,它实际上会让每一个元素 ToString(). 也就是说这些元素 ToString() 的定义是符合你的需求的才行 – 虽然大部分asp.net库中的类型都已经有了.
举例子:
// 合并整型 "1,2,3,4,5,6,7,8,9,10" var numsFromOneToTen = string.Join(",", Enumerable.Range(1, 10)); // 合并不同类型的数值 ==> "1-3.1415927-9/16/2011 12:52:22 PM" var variousObjects = string.Join("-", new object[] { 1, 3.1415927, DateTime.Now });
最后, Join() 明显是支持 IEnumerable<T> 和 object[], string[]:
string[] arr = { "one", "two", "three" }; Console.WriteLine(string.Join(",", arr)); //.net 4.0 中你可以直接列出所有数值,不必要生成数组 var numsFromOneToTen = string.Join(",", "A", "B", "C", "D", "E"); var variousObjects = string.Join("-", 1, 3.1415927, DateTime.Now);
发表评论
-
C# WinForm程序如何与js交互
2012-07-15 22:28 2249一、建立网页 <html ... -
SQLITE FOR .NET4.0使用说明以及DLL
2012-06-28 22:07 1157SQLITE FOR .NET4.0使用说明以及DLL -
WinForm中TabControl的一些事件写法(C#)
2012-06-27 20:41 9825在TabControl控件中并没提供单个选项卡的Click事件 ... -
C# 通过字符串动态创建一个窗体
2012-06-27 20:27 1678private void button1_Click(obje ... -
vs2010 打包winform成EXE文件
2012-04-20 14:03 1563见附件 -
C#中DataGridView控件60招
2012-01-13 09:36 64771. DataGridView当前的单元格属性取得、变更 2 ... -
单击dataGridView某一行时将dataGridView当前选择行的某列值赋值给某个文本框
2012-01-13 09:19 2405SelectedRows和CurrentRow之间的区别 ... -
c# winform开发-datagridview开发
2012-01-13 09:18 1686datagridview 操作详解 目录: 1、 取得或 ... -
asp.net中web.config配置节点大全详解
2011-10-25 10:16 1327asp.net中web.config配置节点大全详解 2 ... -
Entity Framework in ASP.NET MVC Application (三)
2011-05-10 20:31 2426In the previous tutorial you im ... -
Entity Framework in ASP.NET MVC Application (二)
2011-05-10 20:29 1650In the previous tutorial you cr ... -
Entity Frame Work 4.1调用存储过程
2011-05-10 20:24 2065在这个问题上,琢磨了很久了。今天终于找到了调用的方法。 存储 ... -
entity-framework (code-first)实例开发(一)
2011-05-09 20:40 2704The Contoso University Web Appl ... -
使用ef4.1 的dbcontext进行数据库循环操作
2011-04-24 23:06 2201如果你想要调用一个类的方法进行循环操作:官方的例子: Dis ... -
使用EF 4.1的DbContext
2011-04-24 22:36 3597简述:EF4.1包括Code First和DbContext ... -
ADO.NET 访问存储过程
2011-04-24 22:15 1539ADO.NET 访问存储过程其实也比较简单,但是有些小细节部分 ... -
JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)
2011-04-24 20:58 1254JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有 ... -
视图模式/视图->视图包
2011-04-24 20:16 1424ASP.NET MVC(自V1起)就支持一个带控制器和视图的V ... -
SkipRequestValidation] –> [AllowHtml]
2011-04-24 20:15 1379ASP.NET MVC内置了防止HTML和跨站脚本注入攻击的支 ... -
Log4net 详细说明
2011-04-12 22:29 1986在实际项目中我们经常 ...
相关推荐
实现c#调用matlab函数.doc实现c#调用matlab函数.doc实现c#调用matlab函数.doc
js调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.docjs调用c#后台函数.doc
C# 日期函数 string.Format DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21:25 Label2.Text = dt.ToFileTime().ToString();//127756416859912816 Label3.Text = dt.ToFileTimeUtc()...
在C#中调用API函数. 在C#中调用API函数. 在C#中调用API函数.
C# split 使用方法.docC# split 使用方法.docC# split 使用方法.doc
是第一次在C#中接触Thread,自己研究了一下其中Thread.Join()这个方法,下面谈谈自己的理解。 Thread.Join()在MSDN中的解释很模糊:Blocks the calling thread until a thread terminates 有两个主要问题: ...
c#构造函数与析构函数.doc
使用c#的string.format 的一些常用的参数
C#字符串函数大全将包括Len Len(string|varname) 、Trim Trim(string) 、Ltrim Ltrim(string)等多项内容 LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。 TrimTrim(string)将字符串...
string[] sArray=s.Split('c') ; foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab deab deab de 第二种方法 我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对...
C# split 函数的用法,比较详细,具体的解读该函数的使用方法。
C#String.Format数字格式化输出 .txt
C#中char[]与string之间的转换 string 转换成 Char[]
详细介绍C#中Split的用法,各种情况下用法及举例介绍
C#利用ThoughtWorks.QRCode.dll创建和解析二维码
c#公共函数.doc C#_函数手册大全.doc
C#入门经典教程.ppt
C#的String.Format 范例,非常实用的方法全收集到此。
C# 获取调用函数 参数名称和值C# 获取调用函数 参数名称和值C# 获取调用函数 参数名称和值C# 获取调用函数 参数名称和值C# 获取调用函数 参数名称和值C# 获取调用函数 参数名称和值