0
我有一個存儲在字段中的HTML表格。這部分HTML需要被替換。值的例子可能是這樣的:獲取匹配字符串的最後一個字符
<!DOCTYPE html
...... //more html
<!-- MAIN CONTENT -->
<table>
<tr>
<td ...... />
現在,使用此查詢:
SELECT [Id_Of_Content],
PATINDEX('<!DOCTYPE%%<!-- MAIN CONTENT -->%<td%>', [Content]) AS StartIndex,
PATINDEX('%<!-- MAIN CONTENT -->%<td%>', [Content]) AS EndIndex
FROM MyTable
我得到這樣的結果:
ContentId | StartIndex | EndIndex
1 1 5825
2 1 5819
現在,起始索引是正確的,因爲<!DOCTYPE
元素總是在我的HTML的頂部。但是結尾索引並不是我想要的:它始終是搜索字符串的第一個字符的索引,在此例中爲<
。我需要<td%>
中>
字符的索引。我怎樣才能得到這個?
您不能,您需要搜索該字符串後面的任何內容並使用該索引。這裏的問題是,你使用的工具並不是真的意味着要做這樣的事情。使用SQL不容易這樣做的原因是因爲SQL是錯誤的工具。你應該用適當的編程語言來處理這種類型的處理,這些語言具有更好的工具,比如完全支持正則表達式。 –
感謝您的反饋。這是一次性的腳本,所以想到在C#中寫一些東西來做到這一點並沒有發生在我身上。我會嘗試尋找我想要的角色之後的起始索引。 – ohyeah