使用正規表示式Replace

2021-09-05 18:20:52 字數 1650 閱讀 7444

使用regex.replace()方法可以剔除字串中的html**,例如在text資料型別的資料庫字段,中存放的字串格式如下:一、學術研究課題

如果這段字串不經過處理顯示出來就是加粗的字型,如下:「一、學術研究課題」

如果現在想更改這個字串顯示的格式,將字型大小設定成13px,顏色設定成黑色。那要怎麼做?

在這個時候可以使用regex.replace()方法,並且配合使用正規表示式來實現。

在使用這個方法之前首先要在命名控制項中新增以下引用:

using system.text.regularexpressions;

這個是regex的命名空間。

首先宣告string str字串變數,str的值如下:str=<div><b><font color=blue><font size=2>一、學術研究課題</font></font></b></div>

首先替換掉<b>(粗體)得到如下格式的字串:<div><font color=blue><font size=2>一、學術研究課題</font></font></div>

方法:str = regex.replace(str, @"<b[\s\s]*?>([\s\s]*?)</b>", "$1", regexoptions.ignorecase);

其次替換掉<font color=blue><font size=2>(字型的顏色和大小),得到如下格式的字串:<div>一、學術研究課題</div>

方法:str = regex.replace(str, @"<font[\s\s]*?>([\s\s]*?)</font>", "$1", regexoptions.ignorecase);

str = regex.replace(str, @"<font[\s\s]*?>([\s\s]*?)</font>", "$1", regexoptions.ignorecase);

注意:在此使用兩個replace方法,是因為在字串中有兩個font,每次替換掉乙個,感覺此處很麻煩,如果有多個font那怎麼辦那?這個問題仍然在思考中……也敬請指教!

最後為這個替換過的字串新增上自己設定的格式(行高15px,字型大小13px,顏色黑色):

方法如下:

str = "<font style=" + "line-height:15px; font-size:13px; color:#000000" + ">" + str + "</font>";

整體過程寫成函式如下:

public string cleartag(string str)

str = regex.replace(str, @"<font[\s\s]*?>([\s\s]*?)</font>", "$1", regexoptions.ignorecase);

str = regex.replace(str, @"<font[\s\s]*?>([\s\s]*?)</font>", "$1", regexoptions.ignorecase);

str = regex.replace(str, @"<b[\s\s]*?>([\s\s]*?)", "$1", regexoptions.ignorecase);

str = "<font style=" + "line-height:15px; font-size:13px; color:#000000" + ">" + str + "</font>";

return str;

使用正規表示式Replace

使用regex.replace 方法可以剔除字串中的html 例如在text資料型別的資料庫字段,中存放的字串格式如下 一 學術研究課題 如果這段字串不經過處理顯示出來就是加粗的字型,如下 一 學術研究課題 如果現在想更改這個字串顯示的格式,將字型大小設定成13px,顏色設定成黑色。那要怎麼做?在這...

replace 結合正規表示式

為了簡化替換字串的操作,ecmscript提供了replace 方法,這個方法提供兩個引數,第乙個引數可以使乙個字串或regexp物件,第二個引數可以是乙個字串或者乙個函式。基礎知識 匹配整個模式的子字串。與regexp.lastmatch的值相同 匹配的子字串之前的字串,與regexp.leftc...

正規表示式replace方法應用

一 replace方法介紹 replace方法使用表示式模式對字串執行搜尋,並對搜尋到的內容用指定的字串替換,返回乙個字串物件,包含了替換後的內容。語法 replace rgexp.replacetext replace方法執行後,將更新regexp物件中的有關靜態屬性以反映匹配情況。該方法需要兩個...