/*              #########
############
#############
## ###########
### ###### #####
### ####### ####
### ########## ####
#### ########### ####
#### ########### #####
##### ### ######## #####
##### ### ######## ######
###### ### ########### ######
###### #### ############## ######
####### ##################### ######
####### ###################### ######
####### ###### ################# ######
####### ###### ###### ######### ######
####### ## ###### ###### ######
####### ###### ##### #####
###### ##### ##### ####
##### #### ##### ###
##### ### ### #
### ### ###
## ### ###
__________#_______####_______####______________
身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
我们的未来没有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. VMware vSphere

    在进行操作vSphere产品之前,就曾经对它进行过一个简单了解:[运维]VMware vSphere简单了解,现在再回头看,发现了解的真的是太简单了.经过前一段时间学习之后,对它又有了新的感悟,再来谈 ...

  2. C# 语言 - 一个优雅的分页实现

    这篇文章介绍分页对象的封装,如何优雅的对数据进行分页. 先上调用代码: 我们希望能在一个Enumerable对象后面直接.ToPagedList(pageIndex,pageSize)这样优雅的调用分 ...

  3. laravel service provider

    https://laravel-china.org/articles/6189/laravel-service-provider-detailed-concept https://oomusou.io ...

  4. 执行字符串或注释代码段的方法(eval、exec、execfile)

    eval:计算字符串中的表达式exec:执行字符串中的语句execfile:用来执行一个文件 需注意的是,exec是一个语句,而eval()和execfile()则是内建built-in函数. 1 2 ...

  5. Vue系列之 => 列表动画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 多语言(Java、.NET、Node.js)混合架构下开源调用链追踪APM项目初步选型

    1. 背景 我们的技术栈包括了Java..NET.Node.js等,并且采用了分布式的技术架构,系统性能管理.问题排查成本越来越高. 2. 基本诉求 针对我们的情况,这里列出了选型的主要条件,作为最终 ...

  7. mysql运用now(3)存储时间到毫秒

    ) from DUAL;

  8. Runtime(IV) - 序列化与反序列化

    准备条件 父类 Biology Biology.h #import <Foundation/Foundation.h> @interface Biology : NSObject { NS ...

  9. Spark学习之路 (六)Spark Transformation和Action

    Transformation算子 基本的初始化 java static SparkConf conf = null; static JavaSparkContext sc = null; static ...

  10. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...