rjps.net
当前位置:首页 >> C#把字符串里除汉字、英文字母、数字、空格之外的字符都换成空格。最好用正则表达式。 >>

C#把字符串里除汉字、英文字母、数字、空格之外的字符都换成空格。最好用正则表达式。

把字符串里的每个元素(字符)for一下,然后用Encoding.Default处理成字节码,长度为1的是Ascii,用<和>确定范围,是字母数字空格可以不管,其它可以换成空格(详请参照Ascii表),长度为、2的是汉字,不用管.public static string Proc

string oriStr = "正 则表 达式去空 格 regex replace space";string newStr = Regex.Replace(Regex.Replace(oriStr, "(? 追问: 我能看出意思是空格前后是中文的去掉空格,但是?<=这是什么意思啊? 追答: 正则表达式的一种用法 叫做 肯定逆序环视 也有叫做 零宽度正回顾后发断言你可以自行百度一下 评论0 0 0

public Int32 StrToAsc(String str)//将单个字符转换为数字 { return char.ConvertToUtf32(str, 0);//将字符转换为整型如果是中文则UTF码,英语就是对应的ASCII码值,0表示索引值第一个字符 }

用正则表达式好了. System.Text.RegularExpressions.Regex.Replace(str, "([ ]+)", "");

这个很简单 用正则表达式就可以了代码: Regex reg = new Regex("\\w"); //// 你的字符串 string sContext = Console.ReadLine(); sContext= reg.Replace(sContext,"*"); Console.WriteLine(sContext);

思路:用空来替换首尾的空格,用一个空格替换中间的连续空格.例如:string inputstr=” xx xx “;inputstr=inputstr.trim();inputstr=regex.replace(inputstr.trim(),” {2,}”,” “);注:replace的第二个参数的”{2,}”前有一个空格,第三个参数是一

我将楼上的方法改一下,原理差不多:string func(string s) { StringBuilder sb = new StringBuilder(); for(int i=0;i<s.Length;i++) { char[] c = s[i].ToCharArray();//好像是这样写,就是将字符串中第i个字符转换成字符数组.汉字占两个字节,你应该

循环遍历这个字符串,在循环内做比较.

trim

不需要转换成ASCII码,多此一举查找字符串的空格需要引用一个命名空间using System.Text.RegularExpressions;//判断代码:string ddd = "ABC124"; if (Regex.IsMatch(ddd,"[a-zA-Z]"))//正则表达式判断是否存在字母 { MessageBox.Show("have"); } if (Regex.IsMatch(ddd, " "))//正则表达式判断是否存在空格 { MessageBox.Show("have space"); }

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com