- 浏览: 1064715 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 2316一、建立网页 <html ... -
SQLITE FOR .NET4.0使用说明以及DLL
2012-06-28 22:07 1196SQLITE FOR .NET4.0使用说明以及DLL -
WinForm中TabControl的一些事件写法(C#)
2012-06-27 20:41 9870在TabControl控件中并没提供单个选项卡的Click事件 ... -
C# 通过字符串动态创建一个窗体
2012-06-27 20:27 1723private void button1_Click(obje ... -
vs2010 打包winform成EXE文件
2012-04-20 14:03 1622见附件 -
C#中DataGridView控件60招
2012-01-13 09:36 65461. DataGridView当前的单元格属性取得、变更 2 ... -
单击dataGridView某一行时将dataGridView当前选择行的某列值赋值给某个文本框
2012-01-13 09:19 2453SelectedRows和CurrentRow之间的区别 ... -
c# winform开发-datagridview开发
2012-01-13 09:18 1719datagridview 操作详解 目录: 1、 取得或 ... -
asp.net中web.config配置节点大全详解
2011-10-25 10:16 1366asp.net中web.config配置节点大全详解 2 ... -
Entity Framework in ASP.NET MVC Application (三)
2011-05-10 20:31 2462In the previous tutorial you im ... -
Entity Framework in ASP.NET MVC Application (二)
2011-05-10 20:29 1692In the previous tutorial you cr ... -
Entity Frame Work 4.1调用存储过程
2011-05-10 20:24 2112在这个问题上,琢磨了很久了。今天终于找到了调用的方法。 存储 ... -
entity-framework (code-first)实例开发(一)
2011-05-09 20:40 2748The Contoso University Web Appl ... -
使用ef4.1 的dbcontext进行数据库循环操作
2011-04-24 23:06 2258如果你想要调用一个类的方法进行循环操作:官方的例子: Dis ... -
使用EF 4.1的DbContext
2011-04-24 22:36 3634简述:EF4.1包括Code First和DbContext ... -
ADO.NET 访问存储过程
2011-04-24 22:15 1583ADO.NET 访问存储过程其实也比较简单,但是有些小细节部分 ... -
JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)
2011-04-24 20:58 1283JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有 ... -
视图模式/视图->视图包
2011-04-24 20:16 1467ASP.NET MVC(自V1起)就支持一个带控制器和视图的V ... -
SkipRequestValidation] –> [AllowHtml]
2011-04-24 20:15 1432ASP.NET MVC内置了防止HTML和跨站脚本注入攻击的支 ... -
Log4net 详细说明
2011-04-12 22:29 2060在实际项目中我们经常 ...
相关推荐
### C#中的`Split`方法详解 在C#编程语言中,`Split`方法是非常实用且常用的一个功能,主要用于将字符串根据指定的分隔符分割成一个字符串数组。本文将详细解析`Split`方法的不同用法及其应用场景。 #### 1. 基本...
在C#编程语言中,了解并熟练使用常用函数对于编写高效和可维护的...这些函数只是C#中众多功能的一部分,熟练掌握它们将大大提高你的编程效率和代码质量。在实际开发中,还需要结合其他类库和框架来实现更复杂的功能。
C#拥有一系列内置的函数和类库,帮助开发者高效地实现功能。本篇文章将深入探讨C#中的一些常用函数,以提升您的编程效率。 1. **字符串操作函数** - `string.IsNullOrEmpty(string str)`:检查字符串是否为null或...
12. 字符串处理:C#的String类提供了丰富的字符串操作方法,如Split、Join、Substring、Replace等,支持正则表达式操作。 了解和熟练掌握这些数据结构及其操作,是提升C#编程能力和解决问题的关键。通过实际编写和...
C#中的`string`类提供了丰富的内置方法,如`Substring()`, `Trim()`, `ToLower()`, `ToUpper()`, `Replace()`, `Split()`, `Join()`, `IndexOf()`, `LastIndexOf()`等,用于字符串的截取、清理、转换、查找和分割等...
C#提供了丰富的字符串处理函数,使得开发者可以方便地操作和处理字符串。本篇笔记将详细介绍C#中涉及字符串的各种函数,帮助你全面掌握字符串处理的技巧。 1. **字符串创建与初始化** 在C#中,字符串是不可变的...
在C#.NET编程中,掌握常用的函数和方法是至关重要的,因为它们构成了程序的基础和核心。C#.NET是一门强大的面向对象的编程语言,广泛应用于Windows应用程序开发、Web开发、游戏开发等领域。以下是对C#.NET中一些常用...
在C#编程语言中,函数和方法是构建可重用代码和模块化程序的基础。C#的方法是包含在类或结构体中的一组指令,它们执行特定任务并可能接收输入参数,也可能返回值。本资源“C#常用函数方法集”提供了一套常用的函数和...
3. **字符串操作2.txt**:除了基础的字符串操作,C#还有许多高级功能,如正则表达式(Regex)用于复杂模式匹配,StringBuilder用于高效构建大型字符串,以及String.Split()、Join()等方法处理字符串数组。...
9. **字符串操作**:C#中的String类是不可变的,提供了丰富的字符串处理方法,如Split、Join、Replace、Substring等,同时Regex类支持正则表达式操作,用于复杂文本匹配和替换。 这些知识点构成了C#编程的基础,...
本篇文章将深入探讨如何在C#中实现CSV文件的读取和写出,同时也会提及在VB.NET中的类似方法。 ### CSV文件概述 CSV文件以纯文本形式存储表格数据,每一行代表一行记录,每列数据之间通过特定的分隔符分隔,通常是...
在C#编程中,字符串(String)是至关重要的数据类型,用于处理文本信息。字符串是由一个或多个字符组成的序列,它们可以表示任何文本,比如姓名、地址、文章等。本篇文章将深入探讨C#中的字符串操作,包括创建、访问、...
在.NET编程环境中,扩展方法是一种强大的工具,可以为已存在的...通过阅读和理解`StringExtension.cs`和`StringExtension02.cs`文件中的代码,我们可以学习到如何设计和实现这样的实用工具类,从而提升我们的编程技能。
总结,C#中处理CSV文件的基本步骤包括创建、读取和写入操作,可以通过`StreamWriter`和`StreamReader`实现。对于更复杂的需求,可以考虑使用第三方库来增强功能。了解这些基础后,你就能在实际项目中灵活地管理和...
在C#编程语言中,有一些常用的公共类和函数,它们为开发者提供了丰富的功能,使得代码编写更加便捷。这里我们将深入探讨三个关键的类别:算数类(System.Math),字符串类(System.String)以及转换类(System.Convert)。...
在C#编程语言中,处理字符串是常见的任务之一,其中包括去除字符串中的空格。这个话题对于初学者和经验丰富的开发者都很重要,因为处理文本数据时,我们经常需要清理或格式化字符串,确保它们符合特定的需求。本文将...
5. 链接操作:`string.Join()`用于将数组或集合中的元素连接成一个字符串。 6. 常用方法:`ToLower()`和`ToUpper()`用于大小写转换,`Trim()`去除两端空白,`Replace()`替换指定字符或子串,`IndexOf()`和`...
这个方法的原理是使用Split()和Join()方法,将字符串分割成子字符串,然后将其合并成新的字符串。这个方法的效率非常高,但需要引用Microsoft.VisualBasic.DLL库。 6. 使用Reflector和Denis Bauer's Reflector....
【C#优化字符串操作】 1. **Convert.ToInt32 与 Int32.Parse的比较** - `Convert.ToInt32`方法在处理无法转换...在C#开发中,理解这些字符串操作的优化技巧和不同方法的适用场景,有助于编写出更高效、更稳定的代码。
C#的System.String类提供了丰富的静态方法,如Join、Replace、Split等,用于处理字符串。同时,正则表达式(Regex)是处理复杂字符串模式匹配的强大工具,可以用于验证输入、提取信息等。 "支持文件拖拽"在现代桌面...