C# 字符转换的简单问题,请教高手了~~~~,十万火急~!!!

笑羽酣天 2010-09-21 08:55:30
我的需求是:我输入的内容中有中英文混杂的字符,我想判断遇到中文都用问号来代替,这样需要逐个判断输入内容的个个字符是中文还是英文,是英文原样输入,是中文就用问号代替,请问如何做,很急,谢谢各位~~!
...全文
364 29 打赏 收藏 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyzyjoyo 2010-09-21
  • 打赏
  • 举报
回复
用正则表达式吧,感觉正则表达式很强大,特别是在验证数据方面。
flyerwing 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bdmh 的回复:]
http://tech.sina.com.cn/s/2008-07-11/1236729620.shtml
上面提供了判断是否中文字符的方法
[/Quote]
好象有这方法.
jimh 2010-09-21
  • 打赏
  • 举报
回复
判断很简单,unicode<256的都是英文,其他unicode>=256的用?代替,如果是控制textox的输入,那最好要相应KeyPress事件,判断keycode,如果大于等于256就用?代替好了。
Gavin5115 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 peter200694013 的回复:]
C# code

Regex reg = new Regex(@"[\u4E00-\u9Fa5]");
string str = "测试testing测试aaaaaaaaaaaa";

string res = reg.Replace(str, "?");

Console.WriteLi……
[/Quote]

修正后这个比较好
哥子谭 2010-09-21
  • 打赏
  • 举报
回复
用正则表达式,看你输入的值是否满足^[A-Z,a-z]*$
如果满足就全部是英文,否则就存在中文
myjavamosquito 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 peter200694013 的回复:]
C# code

Regex reg = new Regex(@"[\u4E00-\u9FFF]");
string str = "测试testing测试aaaaaaaaaaaa";

string res = reg.Replace(str, "?");

Console.WriteLi……
[/Quote]
个人觉得这个方便
zhaoyajie1984 2010-09-21
  • 打赏
  • 举报
回复
string str="abc你好";
string newStr="";
Regex rx = new Regex("^[\u4e00-\u9fa5]$");
for(int i=0;i<str.Length;i++)
{
if(!rx.IsMatch(str[i].ToString()))//不是中文
{
newStr+=str[i];
}
else{
newStr+="?";
}
}
Console.WriteLine(newStr);
gomoku 2010-09-21
  • 打赏
  • 举报
回复
string intput = "Hello 字!";
input = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(s)); // input = Hello ?!
chazikai24 2010-09-21
  • 打赏
  • 举报
回复
下面代码已经调试过可行
private void button1_Click(object sender, EventArgs e)
{
string A = "a好B了";
string LAST = "";
for (int i = 0; i < A.Length; i++)
{
string B = A.Substring(i, 1);
Match m = Regex.Match(B, @"^[A-Z,a-z]*$");
if (!m.Success)
{
LAST = LAST + "?";
}
else
{
LAST = LAST + B;
}
}
MessageBox.Show(LAST);
}
andy1118 2010-09-21
  • 打赏
  • 举报
回复
string s1="abcd中国人民cdef电脑csdn网站saa发贴aa";
StringBuilder sb1 = new StringBuilder(100);
for (int i1 = 0; i1 < s1.Length; i1++)
{
char c1=s1[i1];
if ((int)c1 >= 0x4e00 && (int)c1 <= 0x9fa5)
{
c1 = '?';
}
sb1.Append(c1);
}
MessageBox.Show(sb1.ToString());
gengchenhui 2010-09-21
  • 打赏
  • 举报
回复
四楼五楼都正解,正则表达式。。。。
gongsun 2010-09-21
  • 打赏
  • 举报
回复
用正则表达式 去匹配啊,这还用想?
w5588660 2010-09-21
  • 打赏
  • 举报
回复
using System.Text.RegularExpressions;//导入这个使用正则表达式的命名空间
Regex reg = new Regex(@"[\u4e00-\u9fa5]");//汉字正则的表达式。
string text1="";
console.write("请输入:");
string text1=console.Readline();
if (reg.IsMatch(text1))//判断是不是汉字的方法,
{
console.write(“你输入法的是汉字\n”);
}
else
{
console.write("你输入的不是汉字“);
}
你根据这个改一下
Peter200694013 2010-09-21
  • 打赏
  • 举报
回复

Regex reg = new Regex(@"[\u4E00-\u9FFF]");
string str = "测试testing测试aaaaaaaaaaaa";

string res = reg.Replace(str, "?");

Console.WriteLine(res);
bdmh 2010-09-21
  • 打赏
  • 举报
回复
http://tech.sina.com.cn/s/2008-07-11/1236729620.shtml
上面提供了判断是否中文字符的方法
w5588660 2010-09-21
  • 打赏
  • 举报
回复
上楼是对的
老Key 2010-09-21
  • 打赏
  • 举报
回复
其实这个是一个很简单的问题,写一个方法,在里面判断是否有中文,如果有,就将字符串替换成?就可以啊,,,也可以通过占的字节数判断出是否是中英文。。
旭子 2010-09-21
  • 打赏
  • 举报
回复
看看是不是UTF8编码
wzlblair 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 gomoku 的回复:]
C# code
string intput = "Hello 字!";
input = Encoding.ASCII.GetString(Encoding.ASCII.GetBytes(s)); // input = Hello ?!
[/Quote]

汉字占2个字节,英文占一个字节。 用正则大材小用
yoyo_ 2010-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 peter200694013 的回复:]
C# code

Regex reg = new Regex(@"[\u4E00-\u9FFF]");
string str = "测试testing测试aaaaaaaaaaaa";

string res = reg.Replace(str, "?");

Console.WriteLi……
[/Quote]

恩,这个可行~~
加载更多回复(7)
【变分多谐波对偶模式追踪】从噪声信号中提取重复瞬态分量的方法(Matlab代码实现)内容概要:本文介绍了“变分多谐波对偶模式追踪”这一信号处理方法,旨在从含有噪声的信号中有效提取重复出现的瞬态成分。该方法结合了变分模态分解与多谐波分析的优势,通过构建对偶模式追踪模型,实现了对微弱瞬态特征的精准分离与增强,特别适用于机械故障诊断、生物医学信号处理等领域。文中详细阐述了算法原理、数学模型构建及其实现步骤,并提供了基于Matlab的代码实现,便于读者复现与应用。; 适合人群:具备一定信号处理基础,从事机械故障诊断、生物医学工程或相关领域的研究生及科研人员。; 使用场景及目标:①从强噪声背景中提取机械设备的周期性冲击信号以进行故障预警;②分析生物医学信号中的重复生理事件,如心电图或脑电图中的特定波形;③为需要高精度瞬态特征提取的研究提供可靠的算法支持与实现范例。; 阅读建议:此资源以Matlab代码实现为核心,不仅展示了算法的具体编程细节,还强调了理论与实践的紧密结合。学习者应在理解算法原理的基础上,动手运行并调试所提供的代码,通过改变参数观察结果变化,从而深入掌握该方法的应用技巧与优化策略。
内容概要:本文围绕“数据驱动下光伏建筑群源荷不确定性解析及其储能多目标低碳经济调度研究”展开,提出了一种融合数据驱动方法与多目标优化算法的综合调度框架。研究首先基于历史数据对光伏发电出力与建筑用电负荷的不确定性进行建模,通过场景生成与削减技术提取典型运行场景,并采用概率预测方法精确刻画源荷波动特征。在此基础上,构建了涵盖经济性、低碳性及系统运行稳定性等多重目标的储能优化调度模型,并引入NSGA-II等先进多目标进化算法求解Pareto最优解集,实现储能系统的协同优化与灵活调度。文中还基于Python语言完整实现了从数据预处理、不确定性建模、优化建模到算法求解的全流程,并通过具体仿真案例验证了所提方法在降低系统运行成本、提升可再生能源消纳水平、减少碳排放等方面的综合效益。; 适合人群:具备一定电力系统基础知识和Python编程能力,从事新能源调度、综合能源系统优化或低碳技术研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于光伏建筑群等分布式能源系统的储能优化调度;②支撑多目标优化在能源系统中的实践,实现经济与环保双重目标的平衡;③为相关课题研究提供可复现的代码框架与技术路线参考。; 阅读建议:建议读者结合文中提供的Python代码,深入理解不确定性建模、场景生成、多目标优化建模与求解的具体实现过程,并可通过调整参数或引入新模型进行拓展研究。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧