C#操作字符串方法总结
/* #########
############
#############
## ###########
### ###### #####
### ####### ####
### ########## ####
#### ########### ####
#### ########### #####
##### ### ######## #####
##### ### ######## ######
###### ### ########### ######
###### #### ############## ######
####### ##################### ######
####### ###################### ######
####### ###### ################# ######
####### ###### ###### ######### ######
####### ## ###### ###### ######
####### ###### ##### #####
###### ##### ##### ####
##### #### ##### ###
##### ### ### #
### ### ###
## ### ###
__________#_______####_______####______________
身是菩提树,心如明镜台,时时勤拂拭,勿使惹尘埃。
我们的未来没有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#操作字符串方法总结的更多相关文章
- 常用 C#操作字符串方法
staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Co ...
- C#操作字符串方法总结<转>
staticvoid Main(string[] args) { string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Co ...
- js 操作字符串方法记录
var str="helloworld"; 这三个方法如果只传一个参数默认截取到最后..将截取的字符返回,对原字符串没有任何改变 slice(star,end)//从索引star开 ...
- C语言一些常见的操作字符串方法
// 首字母大写 ;(c=string[i])!='\0';i++) // 字符串碰到\0结束 C知识 { if (c==' ') { printf("%c",c), word=; ...
- JSP页面JSTL提供的函数标签EL表达式操作字符串的方法
首先在jsp页面导入标签<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions&quo ...
- 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1. ...
- C#基础之操作字符串的方法
C#基础之操作字符串的方法 C#中封装的对字符串操作的方法很多,下面将常见的几种方法进行总结: 首先定义一个字符串str 1.str.ToCharArray(),将字符串转换成字符数组 2.str.S ...
- python字符串操作实方法大合集
python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下: #1.去空格及特殊符号 s.st ...
- C#程序编写高质量代码改善的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1. ...
随机推荐
- 获取数据库连接对象Connection
2018-11-04 19:50:52 开始写 public Connection getConn() {//返回类型为Connection try { Class.forName("co ...
- jQuery事件--mouseover()、mouseout()、mouseenter()和mouseleave()
mouseover([[data],fn]) 概述 当鼠标指针位于元素上方时,会发生 mouseover 事件.该事件大多数时候会与 mouseout 事件一起使用 注释:与 mouseente ...
- Windsor
https://github.com/castleproject/Windsor https://github.com/castleproject/Windsor/blob/master/docs/R ...
- importlib
Python提供了importlib包作为标准库的一部分.目的就是提供Python中import语句的实现(以及__import__函数).另外,importlib允许程序员创建他们自定义的对象,可用 ...
- Set接口——HashSet集合
不重复,无索引,不能重复元素,没有索引: HashSet集合: 此时实现Set接口,有哈希表(HashMap的一个实例)支持,哈希表意味着查询速度很快, 是无序的,即元素的存取的顺序可能不一致: 且此 ...
- JVM探秘3---垃圾回收机制详解
众所周知,Java有自己的垃圾回收机制,它可以有效的释放系统资源,提高系统的运行效率.那么它是怎么运行的呢,这次就来详细解析下Java的垃圾回收 1.什么是垃圾? 垃圾回收回收的自然是垃圾,那么jav ...
- 创建一个简单的WCF程序
1.创建WCF服务库 打开VS2010,选择文件→新建→项目菜单项,在打开的新建项目对话框中,依次选择Visual C#→WCF→WCF服务库,然后输入项目名称(Name),存放位置(Location ...
- SEO三种职位类型:编辑型SEO、技术型SEO、营销型SEO详解
SEO三种职位类型:编辑型SEO.技术型SEO.营销型SEO详解 网站SEO优化作为营销端的服务之一,这些年也呈现出日新月异的格局.一改过去游兵散将式的小作坊生产模式,不断有力量强大的公司团体加入到这 ...
- 单台主机上DB2 10.5和arcgis 10.4 空间数据库配置
该篇文章重点参考arcgis官网说明:http://enterprise.arcgis.com/zh-cn/server/10.4/publish-services/linux/register-db ...
- vue各种实例集合
注意:以下所有示例基于vue 2.x.Vuex 2.x. vm.$mount()-挂载: <body> <div id="a"> </div> ...