首页 > 编程语言 >c#字符串处理 :多空格,多逗号

c#字符串处理 :多空格,多逗号

时间:2024-03-13 15:44:26浏览次数:27  
标签:Regex 空格 string c# Replace 逗号 str 字符串

1.正规表达式:System.Text.RegularExpressions.Regex.Replace(str, "([ ]+)", "") --  str是输入或要检测的字符串。

正则表达式方法Regex.Replace()和匹配符\s(匹配任何空白字符,包括空格,制表符,换页符等,与[\f\n\t\r\v]等效)

//使用正则去除空格,换行,制表符,换页符
Regex regex =new  Regex("\\s+",RegexOptions.IgnoreCase);
string result = regex.Replace(str,"");
Console.WriteLine(result);
在C#开发过程中经常会碰到去除空格的问题,去除两边空格用Trim(),那怎样把中间的连续的多个空格替换为一个空格呢,可以使用正则表达式就可以了;
 
代码:
 
public string GetStrFields(string strWords)
        {
 
            Regex replaceSpace = new Regex(@"\s{1,}", RegexOptions.IgnoreCase);
 
            return replaceSpace.Replace(strWords, ",").Trim();
 
        }
 
Regex 参数
 
\s 代表空格
 
{1,} 代表1个以上的连续空格
 
RegexOptions.IgnoreCase 代表不区分大小写
 
这样1到多个连续空格就被替换成",";在程序中就可以根据逗号来处理了
将多个逗号变成一个逗号分隔
using System.Text.RegularExpressions;
/// <summary> /// 格式化一组如:",,a,s,,,d,c"的字符串为标准的分隔字符串如:"a,s,d,c"; /// </summary> /// <param name="str">ref 需要格式化的字符</param> private void strFormat(ref string str) { string regexText = "\\,{2,}"; string[] strArray = Regex.Split(str,regexText); str = ""; foreach (string strf in strArray) { if(strf != "") { str += strf + ","; } } //以上代码得到 xx,xxx,x,xx,x, 则需要去掉最后一个逗号 既满足标准分隔符条件 str = str.Substring(0, str.Length - 1); }

 

2.使用字符串自带的Replace方法:str.Replace(" ","")-------------  str是输入或要检测的字符串。

String.Replace()函数可以去掉字符串中 所有 的空格

string str = " Hello  World !\n Hello  World ! ";
str.Replace(" ", "")

3.String.Trim() ,TrimStart(),TrimEnd() 去掉字符串 前后 的空格

string str = " Hello  World !\n Hello  World ! ";
str.Trim()

 

4.由于空格的ASCII码值是32,因此,在去掉字符串中所有的空格时,只需循环访问字符串中的所有字符,并判断它们的ASCII码值是不是32即可。去掉字符串中所有空格的关键代码如下:

  1. CharEnumerator CEnumerator = textBox1.Text.GetEnumerator(); 
  2. while (CEnumerator.MoveNext()) 
  3. byte[] array = new byte[1]; 
  4. array = System.Text.Encoding.ASCII.GetBytes(CEnumerator.Current.ToString()); 
  5. int asciicode = (short)(array[0]); 
  6. if (asciicode != 32) 
  7. textBox2.Text += CEnumerator.Current.ToString(); 

这里的3种方法只能去除半角空格,不能去除全角空格。

标签:Regex,空格,string,c#,Replace,逗号,str,字符串
From: https://www.cnblogs.com/WalkingSnail/p/18070784

相关文章

  • Oracle创建用户,授权,取消授权常用语句整理
    --删除用户及及用户下的所有数据dropuserxxxcascade;--创建用户赋予密码createuserxxxidentifiedby1234;--赋予权限grantdbatoxxx;--删除权限revokedbafromxxx;--赋予用户登录数据库的权限grantcreatesessiontoxxx;--授予用户操作表的权限gran......
  • 76. 最小覆盖子串c
    booljudge(int*temps,int*tempt){for(inti=0;i<200;i++){if(temps[i]<tempt[i])returnfalse;}returntrue;}char*minWindow(char*s,char*t){intns=strlen(s),nt=strlen(t);\char*array1=(char*)malloc(sizeof(char)......
  • centos7.9搭建ES8.12+Kibana8.12
    学习来源https://blog.csdn.net/fen_fen/article/details/124596440 一、创建ES用户groupaddesuseradd-gesespasswdes二、下载安装包https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz三、将下载好的包上传到安装机......
  • Spring MVC
    1、什么是SpringMVC?SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。2、SpringMVC的优点?可以支持各种视图......
  • Uniapp开发中实现单选checkbox的正确方式
    遇到这种单选是否的需求,你肯定会想这还不简单,放一个checkbox就行,然后想当然的这样用:<checkboxv-model="value"/>但其实在uniapp里是不能直接写的!结果勾选时value的值并没有变化。尝试了加一个:checked绑定也不行。而uni-data-checkbox又只适用于多选的情况。之后我想起到......
  • SpringMVC
    文章目录一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖3、配置web.xmla>默认配置方式b>扩展配置方式4、创建请求控制器5、创建springMVC的配置文件6、测试He......
  • C#面:System.Array.CopyTo() 和 System.Array.Clon() 的区别
    二者都是用于复制数组的方法,但它们有一些区别:System.Array.CopyTo():方法签名:voidCopyTo(Arrayarray,intindex)功能:将当前数组的所有元素复制到另一个数组中。参数:array:目标数组,即要将元素复制到的数组。index:目标数组中的起始索引,从该索引开始复制元素。返回值:无注意......
  • 2024第二届人文创新教育与社会科学国际学术会议(ICHIESS 2024)
    2024第二届人文创新教育与社会科学国际学术会议(ICHIESS2024)一、【会议简介】2024年第二届人文创新教育与社会科学国际学术会议(ICHIESS2024)将在中国西安举行。除此之外,ICHIESS2024将把人文和社会科学研究领域的创新学者和行业专家聚集在一个共同的论坛上。我们将讨论和......
  • 浅淡 C++ 与 C++ 入门
            我们知道,C语言是结构化和模块化的语言,适用于较小规模的程序。而当解决复杂问题,需要高度抽象和建模时,C语言则不合适,而C++正是在C的基础之上,容纳进去了面向对象编程思想,并增加了许多有用的库,以及编程范式。        因此在这篇博客,将会介绍C++中引入哪些......
  • c++内建函数对象
    概念:c++STL中内建了一些函数对象分类:算术仿函数关系仿函数逻辑仿函数用法:这些仿函数所产生的对象,用法和一般函数完全相同使用内建函数对象,需要使用头文件#include<functional> 1.算术仿函数 功能描述:实现四则运算其中negate是一元运算,其他都是二元运算仿函数......