Net关键字问题

good-code 2010-07-22 05:02:40

public string ReplaceKeyWord(string content)
{
string[] tags = "a|b|c|d|e|f|g".Split('|');
string[] urls = {
"http://a",
"http://b",
"http://c",
"http://d",
"http://e",
"http://f",
"http://g"
};
foreach (string tag in tags)
{

content = content.Replace(tag, string.Format("<a href='{0}'>{2}</a>",urls[0],urls[1],tag));
}
return content;

}


如何更改程序 让关键字a对应连接http://a 关键字b对应连接http://b ....
在线等。
...全文
268 35 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
good-code 2010-07-24
  • 打赏
  • 举报
回复
........
flyingyinjun 2010-07-24
  • 打赏
  • 举报
回复
帮顶!!!
blank223 2010-07-24
  • 打赏
  • 举报
回复
帮顶!
qiqishardgel 2010-07-24
  • 打赏
  • 举报
回复
帮顶!
good-code 2010-07-24
  • 打赏
  • 举报
回复
望有人帮忙~
good-code 2010-07-24
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 zorrowust 的回复:]

说实话,到现在我是不明白你为什么要做替换了,既然都是一一对应的,你试试下面这个做法
C# code
protected void Page_Load(object sender, EventArgs e)
{
string a = ReplaceKeyWord("csdn|csdn网站|你好|abc|abcd|abcdee|网站1|网站2|网站3|网站4|网站……
[/Quote]
我的意思其实很简单,比如一个新闻管理系统里面有一篇文章 文章里面有几个关键字 如csdn csdn网站 当程序检测到这几个关键字的时候就自动加上相应的链接 csdn加链接为www.csdn.com 、csdn网站加链接为www.csdn.net 。 而不是遇到csdn就全部都加上www.csdn.com链接。
现在的问题就是一遇到csdn这几个关键字就自动加上www.csdn.com链接了 ‘csdn网站’这几个关键字是一组的...
good-code 2010-07-23
  • 打赏
  • 举报
回复
高手呢?
Aquarius娜吖 2010-07-23
  • 打赏
  • 举报
回复
正则表达式!
journey_q 2010-07-23
  • 打赏
  • 举报
回复
不懂 帮顶~
good-code 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 42 楼 ff1222 的回复:]
这个。。。你必须指定a、b、c与http://a、http://b的映射规则
比如a="baidu",a="百度",显然a="baidu"很容易生成“http://www.baidu.com”,但也有可能是"http://www.baidu.org",这个程序没法简单地判断,而a="百度",就更复杂了。
因为两者之间没有直接的逻辑关系,你必须指定他们的映射关系,比如建个表,比如直接看位置一一对……
[/Quote]
能不能用一个正则表达式给限定一下呢 这样就好控制 也不用建数据表了~
望高手指点迷津~!
ff1222 2010-07-23
  • 打赏
  • 举报
回复
这个。。。你必须指定a、b、c与http://a、http://b的映射规则
比如a="baidu",a="百度",显然a="baidu"很容易生成“http://www.baidu.com”,但也有可能是"http://www.baidu.org",这个程序没法简单地判断,而a="百度",就更复杂了。
因为两者之间没有直接的逻辑关系,你必须指定他们的映射关系,比如建个表,比如直接看位置一一对应。总之,这里想偷懒是很难的
good-code 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 zorrowust 的回复:]

说实话,到现在我是不明白你为什么要做替换了,既然都是一一对应的,你试试下面这个做法
C# code
protected void Page_Load(object sender, EventArgs e)
{
string a = ReplaceKeyWord("csdn|csdn网站|你好|abc|abcd|abcdee|网站1|网站2|网站3|网站4|网站……
[/Quote]
我的意思其实很简单,比如一个新闻管理系统里面有一篇文章 文章里面有几个关键字 如csdn csdn网站 当程序检测到这几个关键字的时候就自动加上相应的链接 csdn加链接为www.csdn.com 、csdn网站加链接为www.csdn.net 。 而不是遇到csdn就全部都加上www.csdn.com链接。
现在的问题就是一遇到csdn这几个关键字就自动加上www.csdn.com链接了 ‘csdn网站’这几个关键字是一组的....
zekelove 2010-07-23
  • 打赏
  • 举报
回复
url里面链接上tags里的值不就好了~~
拉斐尔-Raphael 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zorrowust 的回复:]
C# code
protected void Page_Load(object sender, EventArgs e)
{
string a = ReplaceKeyWord("x|y|z");
}

public string ReplaceKeyWord(string content)
{
string[……
[/Quote]
这个可以试试。。也可以用switch Case
good-code 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 zorrowust 的回复:]
我有点不明白你的用意了,既然2个数组一一匹配,那就不用Replace,直接把urls罗列出来,每2个之间加一道竖线不完了吗

而且Replace的时候,肯定会把相应的字符串都取代,所以csdn|csdn网站|....执行的时候是会把2个csdn都替换掉.建议你把你实际的代码贴出来,快刀斩乱麻.
[/Quote]
代码就是那样子呀?但是达不到预期效果呀 会把两个csdn都替换掉的 有什么办法可以解决??
good-code 2010-07-23
  • 打赏
  • 举报
回复
╮(╯▽╰)╭哎~
good-code 2010-07-22
  • 打赏
  • 举报
回复
来人啦~~
  • 打赏
  • 举报
回复
ding
good-code 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 zorrowust 的回复:]
中文也是大同小异,多一道转码

你把你要替换的字符串贴出来吧,如果自己还是解决不了的话
[/Quote]


public string ReplaceKeyWord(string content)
{
string[] tags = "csdn|csdn网站|你好|abc|abcd|abcdee|网站1|网站2|网站3|网站4|网站5|网站6|网站7|网站8|网站9|网站10|网站11|网站12|网站13|网站14".Split('|');
string[] urls = {
"http://www.csdn.com",
"http://www.csdn.com",
"http://www.csdnnet.com",
"http://www.a.com",
"http://www.b.com",
"http://www.c.com",
"http://www.d.com",
"http://www.e.com",
"http://www.f.com",
"http://www.g.aspx",
"http://www.h.com",
"http://www.h.com",
"http://net.com",
"http://net.com",
"http://net.com",
"http://ok.com",
"http://ok.com",
"http://com.com",
"http://a.com",
"http://a.com"
};

for (int i = 0; i < tags.Length; i++)
{
content = content.Replace(tags[i], "<a href='" + urls[i] + "'>" + tags[i] + "</a>");
}

return content;
}

我发现一个问题 比如关键字csdn网站 他不能匹配到相对应的网站 只能匹配csdn这四个字母 而且urls有很多重复的链接 不重复的话就对应不到关键字。。。怎么解决~!?
zhangdoublepan 2010-07-22
  • 打赏
  • 举报
回复
11楼
加载更多回复(15)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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