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. ...
随机推荐
- Vue项目中跨域的几种方式
经常使用vue + webpack搭建项目,但在请求某些json数据时存在跨域问题,此时有几种修改方法 1. 修改后台header, 但如果只是请求外部数据,是没法修改后台配置的 header('Ac ...
- Eclipse 在Debug调试中用到的快捷键
作用域 功能 快捷键 全局 单步返回 F7 全局 单步跳过 F6 全局 单步跳入 F5 全局 单步跳入选择 Ctrl+F5 全局 调试上次启动 F11 全局 继续 F8 全局 使用过滤器单步执行 Sh ...
- PLSQL oracle32位 oracle64 安装区别及注意问题
一.先明确几个概念: 1.PLSQL 只有32位的. 2.oracle 客户端 分别有32.64位,一般使用32位. 3.oracle 服务端 分别有32.64位,一般老的服务器使用32位,新的服务器 ...
- html5-基本知识小结及补充
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- 20155228 实验五 Android开发基础
20155228 实验五 Android开发基础 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验要求 1.没有Linux基础的同学建议先学习< ...
- Javascript原生之用cssText批量修改样式
一般情况下我们用js设置元素对象的样式会使用这样的形式: var element= document.getElementById(“id”);element.style.width=”20px”;e ...
- margin、padding、border区分
margin 是设置两个标签的间隔,也就是距离: padding 这个是比如一个p标签,它是100px*100px,我们使用的时候p标签的文字是贴着p标签的最左侧的,想要它的文字距离边界远一点,好看一 ...
- 51Nod 1090 3个数和为0
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1090 思路:排序 三个for循环 但是要控制循环 不能从头开 ...
- Oracle 数据库实现数据合并:merge
1.使用update进行数据更新 1)最简单的更新 update tablea a set a.price=1.00 2)带条件的数据更新 update tablea a set a.price = ...
- Django后端项目----RESTful API
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...