C# , 删除字符串中指定字符的几种方法
方法一,String.Replace
str = str.Replace("\r", string.Empty).Replace("\n", string.Empty).Replace("\t", string.Empty);
方法二, String.Aggregate
string[] split = str.Split(new char[] { '\t', '\r', '\n' }, StringSplitOptions.None);
str = split.Aggregate<string>((str1, str2) => str1 + str2);
方法三,Regex.Replace
str = Regex.Replace(str, "[\r\n\t]", string.Empty, RegexOptions.Compiled);
方法四,Char Array
string s = "abc";
int len = s.Length;
char[] s2 = new char[len];
int i2 = 0;
for (int i = 0; i < len; i++)
{
char c = s[i];
if (c != '\r' && c != '\n' && c != '\t')
s2[i2++] = c;
}
return new String(s2, 0, i2);
方法五,String.Concat
String.Concat(str.Split(new char[] { '\t', '\r', '\n' },
StringSplitOptions.None));
方法六,unsafe char pointer
public static unsafe string StripTabsAndNewlines(string s)
{
int len = s.Length;
char* newChars = stackalloc char[len];
char* currentChar = newChars;
for (int i = 0; i < len; ++i)
{
char c = s[i];
switch (c)
{
case '\r':
case '\n':
case '\t':
continue;
default:
*currentChar++ = c;
break;
}
}
return new string(newChars, 0, (int)(currentChar - newChars));
}
从性能角度来看,方法六(Char Pointer)最好,然后是方法四(Char Array),并且与Char Pointer相差不大。个人感觉Char Array是最值得使用的方法。
第二阵营是方法五String.Concat,与方法六和方法四已经有较大的差距了。
而方法一String.Replace和方法二String.Aggregate则性能更差一筹。
最弱的就是Regex.Replace,性能垫底。
---------------------
作者:alvachien
来源:CSDN
原文:https://blog.csdn.net/alvachien/article/details/52438370
版权声明:本文为博主原创文章,转载请附上博文链接!
C# , 删除字符串中指定字符的几种方法相关推荐
- JavaScript删除字符串中指定字符的四种方法
方法一:使用replace()方法 replace()方法用于将特定字符或字符串替换为其他字符或字符串. 参数:第一个参数是待替换的字符或字符串,第二个参数是替换为的字符或字符串. 可以将第一个参数设 ...
- Java删除字符串中指定字符的方法分享
转自: Java如何删除字符串中指定字符呢? 字符串: 字符串主要用于编程,概念说明.函数解释.用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=& ...
- js删除字符串中指定字符
删除字符串中指定字符 js方法删除指定字符:replace(); let JsonData = {validBegNm:"2022-06-02" }; JsonData.valid ...
- 7-2 删除字符串中指定字符 (10分)
7-2 删除字符串中指定字符 (10分) 删除字符串中的指定字符,字符串和要删除的字符均由键盘输入. 输入格式: 在第一行中输入一个长度不超过20的字符串.并以回车结束:在第二行中输入待删除的一个字符 ...
- php 删除字符串里指定字符,php删除字符串中指定字符_php删除字符串
在做项目时需要对一个字符串进行处理,也就是删除指定的字符,吾爱编程通过这篇文章主要介绍了PHP实现删除字符串中任何字符的函数,涉及php针对字符串的遍历与截取操作技巧,需要的朋友可以参考一下: PHP ...
- 9-5 删除字符串中指定字符
[问题描述]删除字符串中的字符.输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除,然后输出删除后的字符串. [输入形式] 输入字符串和字符 [输出形式] 输出删除字符后的字符串 [ ...
- 删除字符串中指定字符
题目: 输入字符串s,再输入需要删除的字符c,输出删除所有指定字符之后的字符串,并统计已删除的字符个数 输入要求: 输入的字符串s和字符c各占一行,字符串中可包含空格和换行符 输出要求: 打印删掉指定 ...
- JavaScript删除字符串中指定字符
replace() 方法用于将特定字符或字符串替换为其他字符或字符串,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr, replacem ...
- C语言删除字符串中指定字符
输入一个字符串以及一个字符,删去字符串中相同字符 实现如下: #include<stdio.h> int main() {void del(char str[],char c);//声明函 ...
最新文章
- GTA 5 + AI = ?
- 2021高考成绩查询时间 新闻,教育资讯:2021高考成绩一般公布时间 多久出成绩...
- 定义跳转插件_虚幻插件Review:Logic Driver Pro 终极状态机插件
- 【JavaScript吉光片羽】--- 滑动条
- linux的系统移植——交叉编译器
- 现在股市里人人都在赚钱!!到底谁在亏钱?我讲一个故事来告诉大家谁亏钱了...
- 编译安装Postfix-2.10.10
- DFS+剪枝:N个蛋放入M个篮子并可以任意取
- Thymeleaf无法显示css样式
- 基于javaweb的宠物医院管理系统
- 网络安全之特洛伊木马的攻防战略(转)
- 网页游戏开发流程及常用技术大盘点
- 如何将php改成mp4,如何将swf转换成mp4
- Collecting package metadata (current_repodata.json): failed
- elementUI的Upload的手动上传及限制数量后隐藏上传样式
- 傅里叶变换后面的到底有什么小秘密?
- matlab画线段加箭头
- 菜鸟好文推荐(九)——程序员”青春饭”问题之我见
- 数加平台在数据挖掘项目中的实践
- strlen获取char*的大小问题
热门文章
- P2887 [USACO07NOV]防晒霜Sunscreen
- 输入一个正整数,求该数的阶乘。询问用户是否愿意继续。(使用嵌套循环实现) 【提示】: 1.N 的阶乘公式为:n! = 1 × 2 × … × (n - 1) × n 2.
- python打开摄像头_Python 调用摄像头
- 【Python】自动操作Autocad的pyautocad库(一)
- c2c网站开店的流程图_C2C网店策划书
- Linux聊天室项目知识整理(一)
- mysql迁移版本_MySQL 5.7迁移升级8.0版本
- 12个有效的域名工具及其生成器
- PHP7安装redis扩展 Star.Hou
- 设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声