/*              #########
############
#############
## ###########
### ###### #####
### ####### ####
### ########## ####
#### ########### ####
#### ########### #####
##### ### ######## #####
##### ### ######## ######
###### ### ########### ######
###### #### ############## ######
####### ##################### ######
####### ###################### ######
####### ###### ################# ######
####### ###### ###### ######### ######
####### ## ###### ###### ######
####### ###### ##### #####
###### ##### ##### ####
##### #### ##### ###
##### ### ### #
### ### ###
## ### ###
__________#_______####_______####______________
身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
我们的未来没有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. python--教你做个最简单的tcp通信。。

    TCP协议:建立在IP协议之上的,TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由I ...

  2. MD5解密

      国外http://md5.rednoize.com/http://www.milw0rm.com/md5/list.php国内http://www.neeao.com/md5/http://www ...

  3. python -- 判断给定的参数是否是地理位置的经度和纬度

    例子: coordinates = "2.3,-8ui" 无效地理位置 coordinates = "2.3,-8i" 有效地理位置 方法一:使用try...e ...

  4. Shell Necklace (dp递推改cdq分治 + fft)

    首先读出题意,然后发现这是一道DP,我们可以获得递推式为 然后就知道,不行啊,时间复杂度为O(n2),然后又可以根据递推式看出这里面可以拆解成多项式乘法,但是即使用了fft,我们还需要做n次多项式乘法 ...

  5. codeforces 979B Treasure Hunt

    题意: 给出三个字符串,每个字符串长度相同,给出n,要求在n轮内,每一个字符串必须改变一个字符. 问最后哪个字符串中拥有最多相同的字符,即美丽度最大. 思路: 首先,很不容易想到的一点是从a变到a,有 ...

  6. codeforces 980A Links and Pearls

    题意: 有珍珠和线,问能否重新安排使得相邻珍珠之间的线的数量相等. 思路: 首先,珍珠为0或者线为0,那么都满足条件: 其次,如果珍珠的个数大于线的个数,那么肯定不满足条件: 然后,如果线的个数能够被 ...

  7. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  8. 以太坊客户端Ethereum Wallet与Geth区别简介

    以太坊客户端Ethereum Wallet与Geth区别简介 最近有不少朋友在搭建交易平台,在咨询和技术交流的过程中发现很多朋友不太清楚Ethereum Wallet和Geth区别.甚至有朋友使用Ge ...

  9. javanio2

    package com.lanhuigu.nio.selector; import java.net.InetSocketAddress; import java.nio.ByteBuffer; im ...

  10. vue:自定义指令

    <div id="app"> <div v-lang="color">{{num}}</div> <button @c ...