/*              #########
############
#############
## ###########
### ###### #####
### ####### ####
### ########## ####
#### ########### ####
#### ########### #####
##### ### ######## #####
##### ### ######## ######
###### ### ########### ######
###### #### ############## ######
####### ##################### ######
####### ###################### ######
####### ###### ################# ######
####### ###### ###### ######### ######
####### ## ###### ###### ######
####### ###### ##### #####
###### ##### ##### ####
##### #### ##### ###
##### ### ### #
### ### ###
## ### ###
__________#_______####_______####______________
身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
我们的未来没有BUG
* ==============================================================================
* Filename: StringScript
* Created: 2017 10 11
* Author: WYC
* Purpose: C#操作字符串方法总结
* ==============================================================================
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine; public class StringScript : MonoBehaviour { void Start () {
string s = "";
//1)字符访问(下标访问s[i])
s = "ABCD";
Debug.Log(s[0]);// 输出"A";
Debug.Log(s.Length);// 输出4 //(2)打散为字符数组(ToCharArray)
s = "A1B2";
char[] arr = s.ToCharArray(); // 把字符串打散成字符数组
Debug.Log(arr[1]); // 输出数组的第2个元素,输出"1" //(3)截取子串(Substring)
s = "ABCD";
Debug.Log(s.Substring(1)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
Debug.Log(s.Substring(1, 2)); // 从第2位开始截取2位,输出"BC" //(4)匹配索引(IndexOf())
s = "ABCABCD";
Debug.Log(s.IndexOf('A')); // 从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"
Debug.Log(s.IndexOf("BCD")); // 从字符串头部开始搜索第一个匹配字符串BCD的位置,输出"4"
Debug.Log(s.LastIndexOf('C')); // 从字符串尾部开始搜索第一个匹配字符C的位置,输出"5"
Debug.Log(s.LastIndexOf("AB")); // 从字符串尾部开始搜索第一个匹配字符串BCD的位置,输出"3"
Debug.Log(s.IndexOf('E')); // 从字符串头部开始搜索第一个匹配字符串E的位置,没有匹配输出"-1";
Debug.Log(s.Contains("ABCD")); // 判断字符串中是否存在另一个字符串"ABCD",输出true //(5)大小写转换(ToUpper和ToLower)
s = "aBcDsss1";
Debug.Log(s.ToLower()); // 转化为小写,输出"abcd"
Debug.Log(s.ToUpper()); // 转化为大写,输出"ABCD" //(6)填充对齐(PadLeft和PadRight)
s = "ABCD";
Debug.Log(s.PadLeft(6, '_')); // 使用'_'填充字符串左部,使它扩充到6位总长度,输出"__ABCD"
Debug.Log(s.PadRight(5, '_')); // 使用'_'填充字符串右部,使它扩充到6位总长度,输出"ABCD_" //(7)截头去尾(Trim)
s = "__AB__CD__";
Debug.Log(s.Trim('_')); // 移除字符串中头部和尾部的'_'字符,输出"AB__CD"
Debug.Log(s.TrimStart('_')); // 移除字符串中头部的'_'字符,输出"AB__CD__"
Debug.Log(s.TrimEnd('_')); // 移除字符串中尾部的'_'字符,输出"__AB__CD" //(8)插入和删除(Insert和Remove)
s = "ADEF";
Debug.Log(s.Insert(1, "BC")); // 在字符串的第2位处插入字符串"BC",输出"ABCDEF"
Debug.Log(s);
Debug.Log(s.Remove(1)); // 从字符串的第2位开始到最后的字符都删除,输出"A"
Debug.Log(s);
Debug.Log(s.Remove(0, 2)); // 从字符串的第1位开始删除2个字符,输出"EF" //(9)替换字符(串)(Replace)
s = "A_B_C_D";
Debug.Log(s.Replace('_', '-')); // 把字符串中的'_'字符替换为'-',输出"A-B-C-D"
Debug.Log(s.Replace("_", " ")); // 把字符串中的"_"替换为空字符串,输出"A B C D" //(10)分割为字符串数组(Split)——互逆操作:联合一个字符串静态方法Join(seperator,arr[])
s = "AA,BB,CC,DD";
string[] arr1 = s.Split(','); // 以','字符对字符串进行分割,返回字符串数组
Debug.Log(arr1[0]); // 输出"AA"
Debug.Log(arr1[1]); // 输出"BB"
Debug.Log(arr1[2]); // 输出"CC"
Debug.Log(arr1[3]); // 输出"DD" s = "AA--BB--CC--DD";
string[] arr2 = s.Replace("--", "-").Split('-'); // 以字符串进行分割的技巧:先把字符串"--"替换为单个字符"-",然后以'-'字符对字符串进行分割,返回字符串数组
Debug.Log(arr2[0]); // 输出"AA"
Debug.Log(arr2[1]); // 输出"BB"
Debug.Log(arr2[2]); // 输出"CC"
Debug.Log(arr2[3]); // 输出"DD" //(11)格式化(静态方法Format)
Debug.Log(string.Format("{0} + {1} = {2}", 1, 2, 1 + 2));
Debug.Log(string.Format("{0} / {1} = {2:0.000}", 1, 3, 1.00 / 3.00));
Debug.Log(string.Format("{0:yyyy年MM月dd日}", DateTime.Now)); //(12)连接成一个字符串(静态方法Concat、静态方法Join和实例方法StringBuilder.Append)
s = "A,B,C,D";
string[] arr3 = s.Split(','); // arr = {"A","B","C","D"} Debug.Log(string.Concat(arr3)); // 将一个字符串数组连接成一个字符串,输出"ABCD" Debug.Log(string.Join(",", arr3)); // 以","作为分割符号将一个字符串数组连接成一个字符串,输出"A,B,C,D" StringBuilder sb = new StringBuilder(); // 声明一个字符串构造器实例
sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能
sb.Append('B');
Debug.Log(sb.ToString());// 输出"AB"
} }

  

C#操作字符串方法总结的更多相关文章

  1. 常用 C#操作字符串方法

    staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Co ...

  2. C#操作字符串方法总结<转>

    staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Co ...

  3. js 操作字符串方法记录

    var str="helloworld"; 这三个方法如果只传一个参数默认截取到最后..将截取的字符返回,对原字符串没有任何改变 slice(star,end)//从索引star开 ...

  4. C语言一些常见的操作字符串方法

    // 首字母大写 ;(c=string[i])!='\0';i++) // 字符串碰到\0结束 C知识 { if (c==' ') { printf("%c",c), word=; ...

  5. JSP页面JSTL提供的函数标签EL表达式操作字符串的方法

    首先在jsp页面导入标签<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions&quo ...

  6. 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]

    前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1. ...

  7. C#基础之操作字符串的方法

    C#基础之操作字符串的方法 C#中封装的对字符串操作的方法很多,下面将常见的几种方法进行总结: 首先定义一个字符串str 1.str.ToCharArray(),将字符串转换成字符数组 2.str.S ...

  8. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  9. C#程序编写高质量代码改善的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]

    前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1. ...

随机推荐

  1. MyBatis基础入门《十》添加数据

    MyBatis基础入门<十>添加数据 描述: 修改了实体类:TblClient.java,将其字段:cbirthday 由String类型改成了Date类型. TblClient.java ...

  2. field_automation源码分析

    field_automation主要通过uvm_field_utils_begin和uvm_field_utils_end来加到自己写的class中. uvm_field_utils_begin,在o ...

  3. hdu4670 树分治

    这题说的给了一颗树 然后树上有一些整数值,分别由他给的那30个素数组成,有多少条路径的路径上的点的乘积为立方数, 把每个数分解成相应的素数模3后的值,然后压缩为一个3进制的数 然后进行树的分支 #in ...

  4. uva 10369 Arctic Network

    题意: 有许多基地,每个基地都有两种收发信号的方式,一种是通过无线电收发机,另一种是通过卫星.两个基地之间可以通过卫星交流不管它们相距多远:但是通过无线电交流,就要求它们的距离不超过D.为了方便布置, ...

  5. 决策树算法——ID3

    决策树算法是一种有监督的分类学习算法.利用经验数据建立最优分类树,再用分类树预测未知数据. 例子:利用学生上课与作业状态预测考试成绩. 上述例子包含两个可以观测的属性:上课是否认真,作业是否认真,并以 ...

  6. ATM-JAVA程序 //程序有5处相同错误,找不出原因 转账功能没有实现,修改密码来不及实现了

    package JCC;//信1705-3 20173681 靳晨晨import java.io.BufferedReader;import java.io.File;import java.io.F ...

  7. RocketMQ 问题汇总

    1. rocketMQ安装: 编译完成以后准备启动项目,注意:bin的位置是编译后target目录下,启动命令在这里. linux命令目录:你的目录/rocketmq-all-4.2.0/distri ...

  8. Lucene 个人领悟 (一)

    在上学的时候就对搜索有着极大地兴趣,图书馆也借了好多的书看过,也用过Python写过爬虫. 有好多人在初步学习Lucene的时候都以为他是一个搜索引擎,或者搜索工具. 在此我要特别强调一下,Lucen ...

  9. linux常用的软件更新命令

    apt-get在ubuntu系统中用于安装和更新软件的命令,和yum相比,它不需要安装yum源, 可以直接使用,命令简单又好用. apt-get install package 安装package a ...

  10. python--字典dict

    字典由多个键与其对应的值构成的对组成,是另一种可变容器模型,且可存储任意类型对象.字典的每个键值用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中. 注:字典中的键是唯一的( ...