c#中分割字符串的几种方法
string s="abcdeabcdeabcde";
string[] sArray=s.Split('c');
foreach(string i in sArray)
Console.WriteLine(i.ToString());
输出下面的结果:ab
deab
deab
de
我们看到了结果是以一个指定的字符进行的分割。如果我们希望使用多个字符进行分割如c,d,e如何做呢?好,我们使用另一种构造方法:
更改为 string s="abcdeabcdeabcde
string[] sArray1=s.Split(new char[3]{'c','d','e'});
foreach(string i in sArray1)
Console.WriteLine(i.ToString());
可以输出下面的结果:ab
ab
ab
除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项目。然后先添加 using System.Text.RegularExpressions;
Main() :中更改为
System.Text.RegularExpressions
string content="agcsmallmacsmallgggsmallytx";
string[]resultString=Regex.Split(content,"small",RegexOptions.IgnoreCase)
foreach(string i in resultString)
Console.WriteLine(i.ToString());
输出下面的结果:agc
mac
ggg
ytx
使用正则表达式有什么好处呢? 别着急,后面我们会看到它的独特之处。
下面介绍第4种方法。比如
string str1="我*****是*****一*****个*****教*****师";
如果我希望显示为:我是一个教师, ,如何作呢? 我们可以使用下面代码:
string str1="我*****是*****一*****个*****教*****师;
string[] str2;
str1=str1.Replace("*****","*");
str2=str1.Split('*');
foreach(string i in str2)
Console.WriteLine(i.ToString());
这样也可以得到正确结果。但是比如
string str1="我**是*****一*****个*****教*****师";
我希望显示的结果为:我是一个教师。
我如果采用上面的第四种方法来做就会产生下面的错误:我 是一个教师
中间有空格输出,所以输出结果并不是我希望的结果,如何解决呢?这就又回到了正则表达式了(这里可以看到它的功能强大之处),这时可以采用下面的第五种方法:
string str1="我**是*****一*****个*****教*****师";
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@"[*]+");
foreach(string i in str2)
Console.WriteLine(i.ToString());
转载于:https://www.cnblogs.com/88223100/archive/2008/04/15/1154976.html
相关文章:

对相机所看的视角截屏保存为图片
对相机所看的视角截屏保存为图片: 1 using UnityEngine;2 using System.Collections;3 using UnityEngine.UI;4 /// <summary>5 /// 对相机截图6 /// </summary>7 public class Jietu : MonoBehaviour {8 9 public Camera camera; 10 Texture2D…

fsum函数测试以及分析
#include <stdio.h> #include <stdlib.h> #include <string.h>#define BUFSIZE 256//这是一句预定义,定义BUFSIZE的值是100,是缓冲空间的大小,作为数组的。int main(int argc, char *argv[]) //第一个int argc,是记录你输入…

oracle学习总结二(转义字符)
1、oracle 特殊字符 转义关键词: oracle 转义 环境:oracle 9i plsql在plsql里边执行:update userinfo set pageurlmyjsp?page1&pagesize10 where idtest这条sql语句往数据库的pageurl字段放进去了一…

C语言——冒泡法排序应用
#include <stdio.h> #include <stdlib.h> int main()/*有int main 就会有return 0;如果是void main ,就不用加上return 0了 */ {int i,j,temp;/*待会要用到,所以先定义,因为输入的都是整数,所以用int整数型*/int a[10];/*定义一个一维整型数…

2017 Multi-University Training Contest 3 hdu 6063
HDU 6063 思路: AC代码: #include "iostream" #include "string.h" #include "stack" #include "queue" #include "string" #include "vector" #include "set" #include "m…

[学习]GridView 学习集合 -- GridView中使用超链接的技巧
GridView中使用超链接的技巧 数据绑定方式有两种,如下示例: Eval方式 <%# Eval("id") %> Bind方式 <%# Bind("id","~/info.aspx?id{0}") %> 推荐使用第一种方式,…

C# http 性能优化500毫秒到 60 毫秒
来源:https://www.cnblogs.com/hnsongbiao/p/9815808.html 偶然发现 C# 的 HttpRequest 要比 Chrome 请求同一Url 慢好多。C# HttpRequest 要500毫秒 而Chrome 只需要 39ms。 后来 整理 各种方法做了优化 HttpWebRequest request WebRequest.Create(address) as H…

一个计算机高手的成长(转)
这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能 够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行…

正则表达式整理
1.特殊字符 ^匹配输入字符串的开始位置$匹配输入字符串的结尾位置( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。匹配前面的子表达式一…

CSS-hover
1. padding:0 10px; 表示上下边距是0,左右边距是10. 2. padding:0 10px 0 10px; 上-右-下-左。(顺时针方向) 3. .pg-header .menu:hover; 表示只要鼠标移动到当前标签上时,就会应用这个下面所定义的样式。 …

Error原生类型
•表示错误对象 –EvalError, URIError, RangeError, etc. •捕获方式: –try { …throw new Error(…) } catch(e) { … } –理论上可以throw出任意对象 •Error对象IE和FireFox公有属性 –message:错误信息Error浏览器特定属性 •IE: –des…

求矩阵两条对角线元素之和
#include <stdio.h> #include <stdlib.h>int main() {int a[3][3];//定义一个二维数组,三行三列,a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[3][0],a[3][1],a[3][2]int i,j,sum0;printf("请输入9个数据给数组赋值:\n");f…

关于Java中各种修饰符与访问修饰符的说明
关于Java中各种修饰符与访问修饰符的说明 类: 访问修饰符 修饰符 class 类名称extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换)访问修饰符 名称 说明 备注 public可以被所有类访问(使用࿰…

buffer IO和direct IO
最近在看很多框架,redis,kafka等底层都涉及到文件IO操作的效率问题,所以查了些资料,看到这篇文章讲的比较明白些,贴出来留存。 链接地址: https://www.ibm.com/developerworks/cn/linux/l-cn-directio/转载…

python 列表使用
下面实现的类似于java中的数组: names[-2]表示实现倒数的第2个参数 names[-3,-1]表示实现-3到-1的值不包含-1 增删改查 下面代码实现列表的增删改查功能: 复制copy 深copy:这个可以copy全部的参数列表(一般不用)。 For循环打印列表…

c语言——求单词个数
#include <stdio.h> #include <stdlib.h>int main() {char str[20];//定义一个字符型一维数组,长度为20int i,num;printf("请输入一行英文:\n");//提示语句gets(str);//输入一个字符串给字符数组strnum str[0]! ? 1:0;//? : 是条件运算符…

C# 各种进制之间相互转换 [ZT]
MessageBox.Show(Convert.ToString(12345, 2)); //10进制转换为2进制MessageBox.Show(Convert.ToString(12345, 8)); //10进制转换为8进制MessageBox.Show(Convert.ToString(12345, 16)); //10进制转换为16进制MessageBox.Show(Convert.ToInt32("1100", 2).ToStri…

慕课《深入理解计算机系统》袁林枫老师章节测试1-9
1以下有关冯.诺依曼结构思想的叙述中,错误的是( C )。 A.计算机内部以二进制形式表示指令和数据 B.程序由指令构成,计算机能自动执行程序中一条一条指令 C.指令和数据都放在存储器中,两者在形式上有差别(…

WCF 和 ASP.NET Web API
地址:https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/wcf-and-aspnet-web-api WCF 是 Microsoft 为生成面向服务的应用程序而提供的统一编程模型。 借助这一模型,开发人员可以构建既能跨平台与现有投资集成又能与现有投资交互的安全、可靠的事务…

php中操作mysql的函数库
发现php中的mysql库是一个函数库 而不是一个类库 使用面向过程的形式组织。mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数 mysql_change_user -- 改变活动连接中登录的用户 mysql_client_encoding -- 返回字符集的名称 mysql_close -- 关闭 MySQL 连接 mysq…

Firetruck UVA - 208
DFS并查集 如果只用DFS的话会超时,用并查集剪枝,和起点终点不联通的点就不用跑了 这题有好多人写了博客,但是我觉得我的代码写的比较通俗易懂所以就贴上来了,我觉得我写代码的目标就是让任何人都能看懂,越小白越好&…

MCSE2003学习之三
安装WIN XPXP的系统中,32位的系统最大支持的RAM为4G,而64位的…

【LeetCode】230#二叉搜索树中第K小的元素
题目描述 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root [3,1,4,null,2], k 13/ \1 4\2 输出: 1 示例 2: 输入: root …

runaway深度递归函数测试及相关汇编指令
这是一个深度递归的例子。 #include <stdio.h> #include <stdlib.h>int recurse(int x) {int a[1<<15]; /* 4 * 2^15 64 KiB */printf("x %d. a at %p\n", x, a); a[0] (1<<14)-1;a[a[0]] x-1;if (a[a[0]] 0)return -1;return rec…

codeforce843B Interactive LowerBound
题意:交互式的题,给你n,s, x,链表元素有n个,开始的位置是s,每次询问输入数组的下标,可以知道对应链表上的数和链表下一个数的位置,只能询问2000次,要找到第一个大于等于x的数 题解&a…

[原]SSL 开发简述(Delphi)
一、 简介 现在网上有关SSL的资料较多的是基于VC开发,Delphi的SSL开发资源很少。 本文主要使用OpenSSL为基础,讲述SSL的有关开发流程。OpenSSL功能非常丰富,具体可以去她的官方网看看。可惜没有中文说明。 OpenSSL:htt…

如何每天自动备份 SourceSafe (转)
在Microsoft Visual SourceSafe中提到管理员应该每天或者至少每周备份一次SourceSafe中的内容。这里,我们利用现有的工具实现每天自动备份SourceSafe中的内容。<?XML:NAMESPACE PREFIX O />1. 用到的工具a. ssarc.exe. ssarc.exe是随着SourceSafe提供…

log.net的应用示例(日志)
log.net的应用很多朋友很清楚, 为了使不会用的朋友快速了解,这里我也搜了一些朋友的贴子http://blog.hnce.net/post/246.html后做如下示例,希望能对大家有所帮助: 示例如下: log4net的配置文件link Log4Net.config1&l…

H国的身份证号码(搜索)
个人心得:巧妙利用数字进行维护就好了,深搜还是有点心得的; #1558 : H国的身份证号码I 时间限制:10000ms单点时限:1000ms内存限制:256MB描述 H国的身份证号码是一个N位的正整数(首位不能是0)。此外,由于防伪需要,一个N…

Linux命令之more
more [选项] 文件 […] more是一个过滤器,用于一次浏览一个屏幕的文本。 在more过滤器下有一些常用键,<Space>表示显示下一屏内容;<Enter>表示显示文本的下一行内容;<H>显示帮助;<B>上一页&am…