日期:2014-05-18  浏览次数:20356 次

关于正则表达式替换的问题
例如:Moto   刷机工具
我要吧上面的Moto替换成 " <font   color=#FF0000> Moto </font> ";

这个正则表达式应该如何写,

要求被替换的单词是用户输入的字符串。
替换之后只是颜色变成了红色。字符的格式不便。

用户可能输入的是   moto   或者   MOTO,
但是原文上面的是首字母大写的。

目的就是要保持原文格式不被改变的情况下。把用户输入的单词变成红色。

各位大侠。帮帮忙!

------解决方案--------------------
不需要什么正则 格式不变就不需要对他进行改变 只需要加个颜色代码就行了`
------解决方案--------------------
同意楼上,除非用户输入的是关键字,根据这个关键字去全文中检索替换
------解决方案--------------------
一般正则表达式主要用于验证与查找,你的情况是在用户输入时进行字符串替换,使用楼上的方法可能是最好的了。
------解决方案--------------------
[mM][oO][tT][oO]

---------------------------------------------
EMail:bdbox@163.com 请给我一个与您交流的机会!
------解决方案--------------------
除非用户输入的是关键字,根据这个关键字去全文中检索替换
======================================================
我想LZ要的就是这个吧 呵呵

------解决方案--------------------
同意1楼的方法,不用正则表达式
------解决方案--------------------
string abc = "moto ";
if (abc.Length > 1)
{
abc = abc.Substring(0, 1).ToUpper() + abc.Substring(1, abc.Length - 1).ToLower();
}
else
{
abc = abc.ToUpper();
}
str = str.Replace(abc, " <font color=#FF0000> " + abc + " </font> ");
------解决方案--------------------
1楼的方法是不是效率低下啊。如果字符串很多的话呢。
====
你要把问题说清楚,
关于“效率”,是相对的,要看你的应用环境
------解决方案--------------------
简单的问题让大家复杂化了很多

尽然说出了效率问题

试问 就一个文本
要求被替换的单词是用户输入的字符串。
所谓单词 能输入出几百上千个字符来么???

哪国的语言单词这么长?