例1:

遍历字符串中的每一个字符:

string src = "aa-b - c-a - d-e-  d-e- a-   a-b-cc";

foreach(char c in src)
{
        string s1 = c + "";
        Console.WriteLine(s1);
}

例2:

去掉字符串中多余的空格(如果有1个空格或多个空格相连都只保留一个空格)

string src = "        aa-b - c-a - d-e-  d-e- a-   a-b-cc";
src = new System.Text.RegularExpressions.Regex("[\\s]+").Replace(src, " ");
Console.WriteLine(src);
Console.WriteLine(src.Length);

例3:

去掉字符串首尾的空格字符(无论几个)

string src = "        aa-b - c-a - d-e-  d-e- a-   a-b-cc";
src = src.Trim();
Console.WriteLine(src);
Console.WriteLine(src.Length);

Trim可接受char类型的参数,来去除首尾的其他特殊字符。

例4:

字符串的分割

string src = "        aa-b - c-a - d-e-  d-e- a-   a-b-cc";
]{' '});
foreach(string s in sarr)
{
    Console.WriteLine(s);
}

分割规则:

[1]分隔符自身不计算在分割的子字符串中

[2]字符串中已经读取到分隔符,如果下一个还是分隔符,那么将截取出一个 ""

[3]字符串的开始前当做有一个分隔符,结尾亦然

例5:

字符串的截取

string src = "     aa-b - c-a - d-e-  d-e- a-   a-b-cc";
src  = src.Substring(,);
Console.WriteLine(src);

Substring的第一个参数是截取的开始位置坐标(第一个字符前为0,第二个参数为所要截取的字符串的长度,第二个参数可不写,则一直截取到字符串末尾)

例6:

获取字符串中第n次出现目标字符串的目标字符串的位置

string src = "     aa-b - c-a - d-e-  d-e- a-   a-b-cc";
;
;
; i < time; i++)
{
    ) index++;
    index = src.IndexOf("a", index);
}
Console.WriteLine(index);

上例中可以获得原始字符串第四次出现a时a的索引。

例7:

插入、删除、替换

string src = "     aa-b - c-a - d-e-  d-e- a-   a-b-cc";
,"insert");
Console.WriteLine(insert_src);

,);
Console.WriteLine(remove_src);

string replace_a_2_z = src.Replace('a','z');
Console.WriteLine(replace_a_2_z);

Remove用法类似Substring,第二个参数可省略,则一直从当前坐标删除到结尾

打印结果

 insert    aa-b - c-a - d-e-  d-e- a-   a-b-cc
     - c-a - d-e-  d-e- a-   a-b-cc
     zz-b - c-z - d-e-  d-e- z-   z-b-cc

例8:

构造字符串

double height = 178.65;
string mystr1 = string.Format("my height is {0:0.0}", height);
Console.WriteLine("mystr1: " + mystr1);

string sp = ",";
"};
string mystr2 = string.Join(sp, arr);
Console.WriteLine("mystr2: " + mystr2);

StringBuilder sb = new StringBuilder();
foreach(string s in arr)
{
    sb.Append(s);
}

string mystr3 = sb.ToString();
Console.WriteLine("mystr3: " + mystr3);

[1]mystr1 利用Format构造,可以使用占位符和时间格式等。

[2]mystr2 将一个字符串数组合并成一个字符串,并且插入了连接符(反之可用作分隔符)

[3]mystr3 使用StringBuilder来构造一个频繁需要追加操作的字符串,可以提升构造效率

打印结果:

mystr1: my height is 178.7
mystr2: ,,
mystr3: 

C# 常见的字符串操作的更多相关文章

  1. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

  2. Bash 中常见的字符串操作

    获取字符串长度 ${#string} MyString=abcABC123ABCabc 注意这会自动去掉字符串结尾处的空格,如果在字符串中包含空格(开头.中间或结尾),就需要使用引号把字符串包裹起来: ...

  3. ios NSString常见的字符串操作 分割 查找

    1.NSString *str = [[NSString alloc]init];     //简单粗暴,基本用不到 2.NSString *str = [[NSString alloc]initWi ...

  4. 深圳尚学堂:JavaScript中常见的字符串操作

    快到春节放假了,春节后又是一大波的找工作热潮,在前端实招聘笔试时,必不可免额会考到关于JavaScript中字符串的处理问题.考的不是你会不会,而是你能不能在不借用XX手册或者XX指南再或者百度谷歌的 ...

  5. Pyhhon中一些常见的字符串操作.

    可变变量:list, 字典 不可变变量:元祖,字符串 字符串的操作(去掉空格, 切片, 查找, 连接, 分割, 转换首字母大写, 转换字母大小写, 判断是否是数字字母, 成员运算符(in / not ...

  6. JS常见的字符串操作

    1.charAt() 获取字符串指定位置的字符    用法:strObj是字符串对象,index是指定的位置,(位置从0开始数) strObj.charAt(index) 2. indexOf() 方 ...

  7. Python 常见的字符串操作

    1.strip.lstrip和rstrip 描述: 用于移除字符串左右两边.左边.右边指定的字符(默认为空白符,例如:/n, /r, /t, ' ')或字符序列. 语法: str.strip([cha ...

  8. C# 字符串操作基本过程(Equals、Compare、EndsWith等处理方法)

    本文只介绍了比较方法,但是EndsWith,IndexOf等方法均采用相同的过程,先设置CultureInfo(一般情况下调用当前线程的CultureInfo,该语言文化可以通过控制面板设置),然后调 ...

  9. JS常见操作,日期操作,字符串操作,表单验证等

    复制代码 //第一篇博文,希望大家多多支持 /***** BasePage.js 公共的 脚本文件 部分方法需引用jquery库 *****/ //#region 日期操作 //字符串转化为时间. f ...

随机推荐

  1. <c和指针>学习笔记6输入输出函数

    1 错误报告 (1)perror函数 void perror(char const *message) error是标准库的一个外部整型变量(errno.h),保存错误代码之后就会把这个信息传递给用户 ...

  2. js常用知识点汇总

    1.json字符串与json对象相互转化(转至:http://www.jb51.net/article/43136.htm) SON字符串: var str1 = '{ "name" ...

  3. TMF大数据分析指南 Unleashing Business Value in Big Data(一)

    大数据分析指南 TMF Frameworx最佳实践 Unleashing Business Value in Big Data 前言 此文节选自TMF Big Data Analytics Guide ...

  4. [开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve)

    [开发技巧]·Python极简实现滑动平均滤波(基于Numpy.convolve) ​ 1.滑动平均概念 滑动平均滤波法(又称递推平均滤波法),时把连续取N个采样值看成一个队列 ,队列的长度固定为N ...

  5. Swoole 整合成一个小框架

    目录 概述 效果 代码 小结 概述 这是关于 Swoole 学习的第六篇文章:Swoole 整合成一个小框架. 第五篇:Swoole 多协议 多端口 的应用 第四篇:Swoole HTTP 的应用 第 ...

  6. 对 React Context 的理解以及应用

    在React的官方文档中,Context被归类为高级部分(Advanced),属于React的高级API,但官方并不建议在稳定版的App中使用Context. 很多优秀的React组件都通过Conte ...

  7. vue-cli目录结构及说明

    使用vue-cli有时会出现一些莫名的问题,清楚项目的结构文件及其意义方便更好的开发和解决问题,介绍如下: build/ // 项目构建(webpack)相关代码 build.js // 生产环境构建 ...

  8. spring零配置AOP踩坑指南

    今天照着书,试着配了AOP(全注解),结果踩了各种坑,后来参考书附带的源码,终于走出来了,现在总结一下 除了spring的jar包以外,还需要导入以下包: 1.Spring核心配置文件beans.xm ...

  9. 基于 bootstrap 字体图标,用纯CSS实现星级评分功能

    需要用到的图标 实现原理 关键属性是 text-overflow: clip;,表示直接截断文本.我们经常用这个属性的另一个值 text-overflow: ellipsis; 来做省略表示. 先平铺 ...

  10. shell学习(13)- vim

    其中部分内容是转载的. 在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的c ...