我有一個很長的字符串。在數據綁定字符串之前,我希望能夠通過插入更多文本來修改字符串。例如,我有一個字符串<a href="https://stackoverflow.com/a/info/a.html"><img src="/userimage/imgs.jpg"/></a>
我需要在/ a之前和/ userimage之前插入http://m.mydom.com。請注意,這將始終是相同的,所以可以安全地說我想添加的字符串是一致的。我想用lamda或者c#來做到這一點。謝謝你的幫助。c#在字符串中間插入字符串
1
A
回答
8
如果您需要對頁面上的所有相對路徑執行此操作,則使用C#來完成此操作實際上不是最佳工具。
HTML附帶一個名爲base
(see spec information)的元素,用於明確指定文檔的基本URI。如果您將HTML更改爲以下內容:
<head>
<base href="http://m.mydom.com">
</head>
<body>
<a href="https://stackoverflow.com/a/info/a.html"><img src="/userimage/imgs.jpg"/></a>
</body>
圖像和錨都將指向正確的底部。不要相信我?看看這個jsFiddle demonstating the amazingness of base
。
+1
+1 great tips :) –
1
不能只使用String.Replace?
var s = "<a href=\"https://stackoverflow.com/a/info/a.html\"><img src=\"/userimage/imgs.jpg\"/></a>";
s.Replace("\"/a","\"http://m.mydom.com/a").Replace("\"/userimage", "\"http://m.mydom.com/userimage");
不是最好的方法,你總是可以使用正則表達式。
1
您可以使用一個簡單的正則表達式:
var regex = new Regex("(?<=(src|href)=\")([^\"]*)");
var s = "<a href=\"https://stackoverflow.com/a/info/a.html\"><img src=\"/userimage/imgs.jpg\"/></a>";
Console.WriteLine(regex.Replace(s, "http://m.mydom.com$0"));
(?<=...)
是回顧後; $0
是捕獲組0
的內容,它是替換之前鏈接的內容。
相關問題
- 1. 將字符串插入字符串C#
- 2. 在字符串中插入字符串
- 3. 在字符串中插入字符串
- 4. 將連字符插入字符串C++
- 5. 字符串::在插入串
- 6. 如何在字符串的字符串處插入字符串?
- 7. 在字符串中插入字符(Swift)
- 8. 在字符串之間插入文字
- 9. 將字符串插入字符串?
- 10. 在內插字符串中插入格式字符串
- 11. 字符串插入
- 12. PHP字符串插入串
- 13. 字符串插入串
- 14. 將字符插入到字符串中
- 15. 插入特定字符之間的字符串在另一個字符串
- 16. 如何在C中的字符串中插入一個字符?
- 17. 在C#中插入字符到字符串中#
- 18. 如何在字符串中的特定字符串之後插入字符串?
- 19. 在DB2列中插入(接觸)字符串中的字符串
- 20. 在標籤之間插入字符串
- 21. 單獨向字符串c插入字符串#
- 22. 按字符串分割字符串並插入列表C#
- 23. 如何在C#中表示(字符串,字符串[],字符串[])#
- 24. 在字符串的子串之前插入字符串
- 25. C字符串字符串
- 26. C++字符串!=字符串
- 27. 在BPEL中插入字符串文字
- 28. c中的字符串插入問題#
- 29. 插入「在Objective-C字符串
- 30. 在Response.Write()字符串中插入一個var字符串
那麼用戶目前不在http://m.mydom.com上? – scottheckel
綁定數據,如何? – Nalaka526