我有一个很长的字符串。在数据绑定字符串之前,我希望能够通过插入更多文本来修改字符串。例如,我有一个字符串<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