C#几种截取字符串的方法(split 、Substring、Replace、remove)
C#截图字符串常用的方法有 split 、Substring、Replace、remove等。
split的使用:
1. Split( Char ())
返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组的元素分隔)。
根据单个分隔字符用split截取。
例如 复制代码代码如下:
string st="GT123_1"; string[] sArray=st.Split(‘_’);// 一定是单引
即可得到sArray[0]="GT123",sArray[1]="1";
2.利用多个字符来分隔字符串
例如 复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[] { 'j', '_' });
foreach(string e in sArray)
{ Console.WriteLine(e); }
得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123";
3.Split( String (), StringSplitOptions)
返回的字符串数组包含此字符串中的子字符串(由指定字符串数组的元素分隔)。参数指定是否返回空数组元素。 RemoveEmptyEntries表示要省略返回的数组中的空数组元素
根据字符串或字符串组来截取字符串
例如 复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{ Console.WriteLine(e); }
得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123";
其他:
public string[] Split(params char[] separator)
Split 方法提取此字符串中的子字符串,这些子字符串由 separator 参数中的一个或多个字符串分隔,然后该方法将这些子字符串作为数组的元素返回。 Split 方法使用区分大小写的序号排序规则执行比较,从而查找分隔符。
Split 方法忽略 separator 的任何值为 Nothing 或空字符串 ("") 的元素。 为了在 separator 中的字符串具有公共字符的情况下避免出现不明确的结果, Split 操作从实例值的开始进行到结尾,并匹配 separator 中与实例中的分隔符相等的第一个元素。 实例中子字符串的出现顺序优先于 separator 中元素的顺序。 例如,考虑值为“abcdef”的实例。如果 separator 中的第一个元素为“ef”,且第二个元素为“bcde”,则拆分操作的结果将是“a”和“f”。 这是因为先遇到实例中的子字符串“bcde”,且它匹配 separator 中的元素,然后才遇到子字符串“f”。 不过,如果 separator 的第一个元素为“bcd”,且第二个元素为“bc”,则拆分操作的结果将是“a”和“ef”。 这是因为“bcd”是 separator 中第一个与实例中的分隔符匹配的分隔符。 如果颠倒分隔符的顺序,使得第一个元素为“bc”且第二个元素为“bcd”,则结果将是“a”和“def”。
性能注意事项
Split 方法为返回的数组对象分配内存,同时还为每一个数组元素分配一个 String 对象。 如果您的应用程序要求达到最佳性能,或者如果在您的应用程序中内存分配管理很关键,请考虑使用 IndexOf 或 IndexOfAny 方法,也可以选择使用 Compare 方法,在字符串中定位子字符串。 如果在分隔符字符处分割字符串,请使用 IndexOf 或 IndexOfAny 方法在字符串中定位分隔符字符。 如果在分隔符字符串处分割字符串,请使用 IndexOf 或IndexOfAny 方法定位分隔符字符串的第一个字符。 然后使用 Compare 方法确定第一个字符后面的字符是否等于分隔符字符串的其余字符。 此外,如果在多个 Split 方法调用中使用相同的字符集拆分字符串,请考虑创建一个数组并在每个方法调用中都引用该数组。 这可以极大地减少每个方法调用的额外系统开销。
Substring的使用:
1. Substring(Int32, Int32)
从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
提取字符串中的第i个字符开始的长度为j的字符串;
例如 复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
int start=,length=;
Console.WriteLine(str.Substring(start-, length));
//输出得到 AZB_Jian。 string vstr="123456789|";
Console.WriteLine(str.Substring(, vstr.length-));
//输出得到 123456789。
2. Substring(Int32)
从此实例检索子字符串。子字符串从指定的字符位置开始。
提取字符串中右数长度为i的字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt; int i=;
tSt = str.Substring(str.Length - i);
Console.WriteLine(tSt);
输出n_123;
Replace的使用:
1. Replace(String, String)
返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。
替换字符串中的特定字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("","");
Console.WriteLine(tSt);
输出GTAZB_JiangjBen_321
2. 删除字符串中的特定字符串Jiangj
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
string tSt; tSt = str.Replace("Jiangj","");
Console.WriteLine(tSt);
输出GTAZB_Ben_123
3. Replace(Char, Char)
返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。
下面的示例将一系列数字之间的空白替换为逗号,从而创建以逗号分隔的值列表。
public static void Main()
{
string str = "1 2 3 4 5 6 7 8 9";
Console.WriteLine("Original string: \"{0}\"", str);
Console.WriteLine("CSV string: \"{0}\"", str.Replace(' ', ','));
}
输出:Original string: "1 2 3 4 5 6 7 8 9"
CSV string: "1,2,3,4,5,6,7,8,9"
remove的使用:
1. Remove(Int32, Int32)
从此实例中的指定位置开始删除指定数目的字符。
删除指定位置(第i个)的指定长度(length)的字符串
复制代码代码如下:
string str = "GTAZB_JiangjBen_123";
int i=,length=;
str=str.remove(i, length);
console.writeline(str);
输出GTAZBen_123。
2. Remove(Int32)
删除此字符串中从指定位置到最后位置的所有字符。
string s = "abc---def";
Console.WriteLine("{0}", s.Remove());
输出:abc
C#几种截取字符串的方法(split 、Substring、Replace、remove)的更多相关文章
- C#几种截取字符串的方法小结 (摘抄)
1.根据单个分隔字符用split截取 例如 string st="GT123_1"; string[] sArray=st.split("_"); 即可得到sA ...
- C#几种截取字符串的方法小结
1.根据单个分隔字符用split截取例如代码如下: string st="GT123_1"; string[] sArray=st.split("_"); 即可 ...
- C#几种截取字符串的方法小结,需要的朋友可以参考一下
1.根据单个分隔字符用split截取 例如 复制代码 代码如下: string st="GT123_1"; string[] sArray=st.split("_&quo ...
- js常用的4种截取字符串方法
平常经常把这几个api的参数记混了,于是打算记录下来,当不确定的时候在拿出来翻翻: 在做项目的时候,经常会需要截取字符串,所以常用的方法有slice().substr().substring().ma ...
- shell截取字符串的方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...
- shell中截取字符串的方法总结
shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- JavaScript:在JS中截取字符串的方法
这篇主要说一说截取字符串的方法,用于帮助自己缕清方法的作用,参数的意义,返回值,是否对于原来的字符串进行了操作等. 在javascript中,常见的截取字符串的方法有slice().substring ...
- paip.截取字符串byLastDot方法总结uapi python java php c# 总结
paip.截取字符串byLastDot方法总结uapi python java php c# 总结 ========uapi left_byLastDot right_byLastDot 目前 ...
- java中subString、split、stringTokenizer三种截取字符串方法的性能比较(转)
最近在阅读java.lang下的源码,读到String时,突然想起面试的时候曾经被人问过:都知道在大数据量情况下,使用String的split截取字符串效率很低,有想过用其他的方法替代吗?用什么替代? ...
随机推荐
- scp命令在linux间传送文件的方法
当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码. 把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中 ...
- Win32建立右键弹出菜单(PopMenu)
自定义右键菜单: #ifndef _CONTEXTMENU_H_ #define _CONTEXTMENU_H_ #include <windows.h> //动态菜单 #define I ...
- C#对象的new和不new的区别
new:为对象分配空间. 首先,直接声明一个变量:byte[] test;只是有了一个变量名字,而它是没有实际空间的,需要分配空间: 分配空间的方法: 1.使用new,byte[] test = ne ...
- 关于activity生命周期,启动模式和tag
Acticity启动模式 1.standard:Activity的默认加载方法,该方法会通过跳转到一个新的activity,同时将该实例压入到栈中(不管该activity是否已经存在在Task栈中,都 ...
- JavaScript callee caller
caller是function的属性 callee是arguments的属性 callee:返回正在执行的函数对象. var sum = function (n) { == n) ; ); } con ...
- hdu2552 (浮点数复杂运算的四舍五入)题解
三足鼎立 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- fread
快速读入? 不知道 反正只是贴过来的 以后或许会用到? #define FI(n) FastIO::read(n) namespace FastIO { << ; ]; int bi = ...
- MyBatis各种类型的入参使用方式
https://blog.csdn.net/u011983531/article/details/53561219 mybatis中if判断传入字符串或者Long参数不为空 https://blog. ...
- mui --- 怎么获取百度地图定位功能
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- MySQL会创建临时表的几种情况
1.UNION查询: 2.用到TEMPTABLE算法或者是UNION查询中的视图: 3.ORDER BY和GROUP BY的子句不一样时: 4.表连接中,ORDER BY的列不是驱动表中的:(指定了联 ...