字符串中有中文和英文的标点符号,怎么将这些标点符号用空格代替掉啊 C# winfrom程序中,字符串中有中文和英文的标点符号,怎么将这些标点符号用空格代替掉?用ascii码如何操作?希望有详细的代码,先谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接Replace不可以吗?在VB.NET中可以直接用Replace(Chr(ASCII)) 第一种就是把中文标点先转换成英文,在一起替换Relpace()方法。第二种就是用正则表达式。 用正则string str=@"ere.dgsa讽。fdssd..的是非得失。";Regex reg=new Regex(@"[.。]+");str=reg.Replace(str,""); /// 转全角的函数(SBC case) /// ///任意字符串 /// 全角字符串 /// ///全角空格为12288,半角空格为32 ///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///public string ToSBC(string input){ //半角转全角: char[] c=input.ToCharArray(); for (int i = 0; i < c.Length; i++) { if (c[i]==32) { c[i]=(char)12288; continue; } if (c[i]<127) c[i]=(char)(c[i]+65248); }return new string(c);}/// /// 转半角的函数(DBC case) //////任意字符串/// 半角字符串 //////全角空格为12288,半角空格为32///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///public string ToDBC(string input){char[] c=input.ToCharArray();for (int i = 0; i < c.Length; i++){if (c[i]==12288){c[i]= (char)32; continue;}if (c[i]>65280 && c[i]<65375)c[i]=(char)(c[i]-65248);}return new string(c);} string str=@"ere.dgsa讽。fdssd..的是非得失。";string pattern=@"[.。]+";str=Regex.Replace(str,pattern,""); 求助,关于程序外网发布 怎么重新编译代码生成exe文件? C#改变运行环境 visual studio 网页难题,求思路 重载方法不对的问题 Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us"); msdn上没有 谁能告诉我电影网址吗?100分 代码解释问题,十万火急,救命啊!!!!!!(看到的都进来看看) 请问,在c#的windows应用程序弹出的messagebox中,怎么样才能使messagebox显示的信息换行 关于数据控件问题 关于.net中CollectionBase与IList的问题。 c#发布小疑问
第二种就是用正则表达式。
Regex reg=new Regex(@"[.。]+");
str=reg.Replace(str,"");
///
任意字符串 /// 全角字符串 ///
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///public string ToSBC(string input)
{ //半角转全角:
char[] c=input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i]==32)
{
c[i]=(char)12288; continue;
}
if (c[i]<127) c[i]=(char)(c[i]+65248);
}
return new string(c);
}/// /// 转半角的函数(DBC case) ///
///
任意字符串
/// 半角字符串 ///
///全角空格为12288,半角空格为32
///其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248 ///
public string ToDBC(string input)
{
char[] c=input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i]==12288)
{
c[i]= (char)32; continue;
}
if (c[i]>65280 && c[i]<65375)
c[i]=(char)(c[i]-65248);
}
return new string(c);
}
string str=@"ere.dgsa讽。fdssd..的是非得失。";
string pattern=@"[.。]+";
str=Regex.Replace(str,pattern,"");