c# 搜索第一个匹配的字符串并替换
如有一大段字符串"sdfjls广东sdfx564565498广东xcv898广东",这段字符串里包含了三个"广东"这个词,现在想找出来第一个"广东"并把它改为"东莞",用...
如有一大段字符串"sdfjls广东sdfx564565498广东xcv898广东",这段字符串里包含了三个"广东"这个词,现在想找出来第一个"广东"并把它改为"东莞",用C#怎么写?
高手很多哈哈,非常谢谢!
我做这个的原因是想仿照像新浪的一种功能:新浪可在每篇文章中自动为某个关键词加上链接,比如当文章中出现"石油"时,他就改为"石油(100.87,2.35"),即石油的价钱和涨跌值.
那么现在的问题是,我若在后台添加文章时自动修改了这个关键词,但页面生成静态后用户再浏览时的值就是不动的了,不是实时值...这个问题该怎么处理呢?
解决了加分啊,谢谢谢谢了 展开
高手很多哈哈,非常谢谢!
我做这个的原因是想仿照像新浪的一种功能:新浪可在每篇文章中自动为某个关键词加上链接,比如当文章中出现"石油"时,他就改为"石油(100.87,2.35"),即石油的价钱和涨跌值.
那么现在的问题是,我若在后台添加文章时自动修改了这个关键词,但页面生成静态后用户再浏览时的值就是不动的了,不是实时值...这个问题该怎么处理呢?
解决了加分啊,谢谢谢谢了 展开
展开全部
string s="sdfjls广东sdfx564565498广东xcv898广东";
string fs="广东";
string th="东莞";
//先找出位置
int pos=s.indexOf(fs);
//取位置前部分+替换字符串+位置(加上查找字符长度)后部分
string newstr = s.substring(0,pos)+th+s.substring(pos+fs.length);
--------------------------
后面这个问题简单嘛 用ajax技术
在生成静态时对应生成该页关键字,用户访问时 使用js异步(ajax)访问服务器 获取实时数据
在再对页面指定关键字进行替换
不过做起来还是很有工作量的
string fs="广东";
string th="东莞";
//先找出位置
int pos=s.indexOf(fs);
//取位置前部分+替换字符串+位置(加上查找字符长度)后部分
string newstr = s.substring(0,pos)+th+s.substring(pos+fs.length);
--------------------------
后面这个问题简单嘛 用ajax技术
在生成静态时对应生成该页关键字,用户访问时 使用js异步(ajax)访问服务器 获取实时数据
在再对页面指定关键字进行替换
不过做起来还是很有工作量的
展开全部
/// <summary>
///
/// </summary>
/// <returns>数据集</returns>
[TestMethod]
public void testReplace()
{
string searchStr = "广东";
string replaceStr = "东莞";
string tmpStr = "sdfjls广东sdfx564565498广东xcv898广东";
int startIndex = tmpStr.IndexOf(searchStr);
int charLength = startIndex + searchStr.Length;
Debug.WriteLine(tmpStr.Substring(0, charLength).Replace(searchStr,replaceStr) + tmpStr.Substring(charLength));
}
输出结果:sdfjls东莞sdfx564565498广东xcv898广东
那么现在的问题是,我若在后台添加文章时自动修改了这个关键词,但页面生成静态后用户再浏览时的值就是不动的了,不是实时值...这个问题该怎么处理呢?
对实时动态的值可以使用ajax来实现
///
/// </summary>
/// <returns>数据集</returns>
[TestMethod]
public void testReplace()
{
string searchStr = "广东";
string replaceStr = "东莞";
string tmpStr = "sdfjls广东sdfx564565498广东xcv898广东";
int startIndex = tmpStr.IndexOf(searchStr);
int charLength = startIndex + searchStr.Length;
Debug.WriteLine(tmpStr.Substring(0, charLength).Replace(searchStr,replaceStr) + tmpStr.Substring(charLength));
}
输出结果:sdfjls东莞sdfx564565498广东xcv898广东
那么现在的问题是,我若在后台添加文章时自动修改了这个关键词,但页面生成静态后用户再浏览时的值就是不动的了,不是实时值...这个问题该怎么处理呢?
对实时动态的值可以使用ajax来实现
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
using System.Text.RegularExpressions;//引用
string news = "广东,省会广州,辖21个省辖市。广东是中国大陆南端沿海的一个省份";
string str = "广东";//从数据库中取
string replace = "广东(粤)";//从数据库中取
/* 上面两个变量你可以放在一个字段里面,字段值比如可以为:广东,广东(粤);然后用string[] arr = Regex.Split("广东,广东(粤)", ",") 解析出来(例子的结果为arr[0]=="广东"; arr[1]=="广东(粤)"; 这样你可以再加一些逻辑,实现不同关键字的替换 */
Regex reg = new Regex(str);
Response.Write(reg.Replace(news, replace, 1));
string news = "广东,省会广州,辖21个省辖市。广东是中国大陆南端沿海的一个省份";
string str = "广东";//从数据库中取
string replace = "广东(粤)";//从数据库中取
/* 上面两个变量你可以放在一个字段里面,字段值比如可以为:广东,广东(粤);然后用string[] arr = Regex.Split("广东,广东(粤)", ",") 解析出来(例子的结果为arr[0]=="广东"; arr[1]=="广东(粤)"; 这样你可以再加一些逻辑,实现不同关键字的替换 */
Regex reg = new Regex(str);
Response.Write(reg.Replace(news, replace, 1));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string s = "sdfjls广东sdfx564565498广东xcv898广东";
string rep = "广东";
int l = s.IndexOf(rep);
Response.Write(s.Substring(0, l) + "东莞" + s.Substring(l + rep.Length));
string rep = "广东";
int l = s.IndexOf(rep);
Response.Write(s.Substring(0, l) + "东莞" + s.Substring(l + rep.Length));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string s = "sdfjls广东sdfx564565498广东xcv898广东";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("广东");
ShowMessageBox(reg.Replace(s, "东莞", 1));
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("广东");
ShowMessageBox(reg.Replace(s, "东莞", 1));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询