2

私は現在、一般的に使用される文字列を置き換えるページ レンダリング メソッドに置換機能を実装しています。たとえば、[cfe] を顧客のフロント エンドのルートに置き換えます。これは、サイトのバージョンによって値が異なる可能性があるためです。たとえば、イメージ フォルダーのルート([imagepath])/Images開発中とライブ中ですが/Test/Images、テスト中です。

[productName]製品のカタログ ページへのリンクを変更したい製品のカタログがあります。[someValue]ページ全体を調べて、 のすべてのインスタンスを関連するリンクに置き換えたいと思います。現在、製品データベース内のすべての製品をループして、その製品[productName]のカタログ ページへのリンクに置き換えています。ただし、これはデータベースに存在する製品に限定されます。現在削除されている製品への「リンク」は置き換えられないため[someValue]、ユーザーに表示されます。これは見栄えがよくありません。

だから、これから私の問題を見ることができるはずです。私がやりたいことを簡単に達成する方法を知っている人はいますか? 正規表現を使用できましたが、それらの経験はあまりありません。これが " For Each Match As String In Regex.Matches(blah, blah)" を使用する最も簡単な方法である場合は、さらに詳しく調べていきます。

ただし、ある時点で、これをさらに進めたいと思います。たとえば、 を使用して右上に画像がある 3 列などのページ レイアウトを設定します[layout type="3colImageTopRight" imageURL="imageURL"]Content here[/layout]imageURL私は今これを行うことができると思いますが、たとえば、[Image:Product01.gif](レイアウトタグの最後に到達しないregex.match("[[a-zA-Z]{0,}]")と思います) を使用すると、これに対処する方法がわかり[layout type="3colImageTopRight" imageURL="[Image:Product01.gif]ません。明らかに上記の一致する文字列などに二重引用符を含めていないため、うまく機能しませんが、一般的なアイデアは理解できます。けれど。

これを手伝ってくれるアイデアや指針はありますか?また、これが厳密にトークンの置き換えではない場合は、それが何であるかを教えてください。これをさらに発展させることができます。

Aristos - これを再説明することで混乱が解消されることを願っています。

前もって感謝します、

よろしく、

リチャード・クラーク

4

1 に答える 1

0

@RichardClarke - 私は正規表現を使用します。正規表現は、あなたが思うほど学ぶのが難しくなく、少し慎重に使用することで問題が解決します。

私はいつもこれが非常に便利なツールだと思っています。

 http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx

チートシートとうまく合います;-)

 http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/

幸運を。

于 2010-12-14T09:37:03.187 に答える