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即可。去掉字符串中所有空格的关键代码如下:
- CharEnumerator CEnumerator = textBox1.Text.GetEnumerator();
- while (CEnumerator.MoveNext())
- {
- byte[] array = new byte[1];
- array = System.Text.Encoding.ASCII.GetBytes(CEnumerator.Current.ToString());
- int asciicode = (short)(array[0]);
- if (asciicode != 32)
- {
- textBox2.Text += CEnumerator.Current.ToString();
- }
- }
这里的3种方法只能去除半角空格,不能去除全角空格。
标签:Regex,空格,string,c#,Replace,逗号,str,字符串 From: https://www.cnblogs.com/WalkingSnail/p/18070784