Asp.net 代币替换

Asp.net 代币替换,asp.net,tokenize,stringtokenizer,replace,Asp.net,Tokenize,Stringtokenizer,Replace,目前,我在page render方法中实现了一个替换函数,它将常用字符串替换为用户前端的根字符串,如replace[cfe]。这是因为根据站点的版本,该值可能不同-例如,图像文件夹([imagepath])的根目录在开发和直播时为/Images,而在测试时为/Test/Images 我有一个产品目录,我想将其[productName]更改为指向该产品目录页面的链接。我想浏览整个页面,并用相关链接替换[someValue]的所有实例。目前,我通过循环浏览产品数据库中的所有产品,并用指向该产品目录页

目前,我在page render方法中实现了一个替换函数,它将常用字符串替换为用户前端的根字符串,如replace[cfe]。这是因为根据站点的版本,该值可能不同-例如,图像文件夹
([imagepath])
的根目录在开发和直播时为
/Images
,而在测试时为
/Test/Images

我有一个产品目录,我想将其
[productName]
更改为指向该产品目录页面的链接。我想浏览整个页面,并用相关链接替换
[someValue]
的所有实例。目前,我通过循环浏览产品数据库中的所有产品,并用指向该产品目录页的链接替换
[productName]
。但是,这仅限于数据库中存在的产品。指向已删除产品的“链接”当前不会被替换,因此将向用户显示
[someValue]
。这看起来不太好

所以你应该能从中看出我的问题。有人知道一种方法可以轻松实现我想要的吗?我可以使用正则表达式,但我没有太多的经验。如果这是最简单的方法,在Regex.Matches(blah,blah)中为每个匹配使用“
”作为字符串,那么我愿意进一步研究这个问题

然而,在某个时候,我想更进一步——例如,使用
[layout type=“3colImageTopRight”imageURL=“imageURL”]这里的内容[/layout]
设置页面布局,例如3列图像右上角。我想我现在可以这样做了,但是如果
imageURL
是,比如说,
[Image:Product01.gif]
(使用
regex.match([[a-zA-Z]{0,}])
我想应该匹配
[layout type=“3colImageTopRight”imageURL=“[Image:Product01.gif]
(它不会到达布局标记的末尾)。显然,上面的方法不太有效,因为我没有在匹配字符串中包含双引号或其他内容,但您已经了解了总体思路。您应该能够了解我的意思以及我正在尝试做什么

有人有什么想法或建议可以帮助我吗?如果这不是严格意义上的代币替换,那么请告诉我它是什么,这样我可以进一步发展它

亚里士多德-霍普对此的重新解释解决了困惑

提前感谢,

问候,


Richard Clarke

@RichardClarke-我会选择正则表达式,它们并不像你想象的那么难学,只要小心使用,就能解决你的问题

我一直觉得这是一个非常有用的工具

 http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
与备忘单配合得很好;-)


祝你好运。

@RichardClarke-我会选择正则表达式,它们并不像你想象的那么糟糕,只要小心使用,就能解决你的问题

我一直觉得这是一个非常有用的工具

 http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
与备忘单配合得很好;-)


祝你好运。

刚看了2020年1月11日的编辑——快10年了——该死的,我当时是个书呆子。我甚至不在乎某些单词的标点符号……刚看了2020年1月11日的编辑——快10年了——该死的,我当时是个书呆子。我甚至不在乎某些单词的标点符号。。。