要查找/替换的最佳/最简单的字符串

时间:2014-11-08 16:52:13

标签: c# replace

我需要替换文章中的一些占位符,例如图像。

我正在考虑:imageX:的格式,其中X是图像的GUID。

但是有更好的字符串可供使用,因为我必须搜索:image,然后将GUID带到结束:

这种替换有更好/更容易的字符串吗?

整篇文章中会有多个:imageX:占位符,还会有其他占位符,例如:videoX:等等。

我当然会在文章:imageX:中将<img标记替换为正确图像的网址和其他占位符的其他标记。

-

问小部件已经声称问题是主观的,可能会被关闭,所以如果这不是正确的地方,请提出更好的建议。我认为它应该没问题,因为它是关于代码的,并且可以有一个明确的最简单(最短/最简单)代码来替换它们,因为我们在这里找到了最好的占位符字符串。

2 个答案:

答案 0 :(得分:1)

这看起来像一个足够好的字符串来使用它。因为那里有一个GUID,所以不太可能有人写这个并且不打算让它被替换。

您可以使用正则表达式来捕获所有这些占位符并替换它们。它将帮助您提取标识符和guid,您可以从中创建替换代码。

示例:

article = Regex.Replace(article, @":(\w+)(\w{8}-\w{4}-\w{4}-\w{4}-\w{12}):", m => {
  string content = m.Groups[1].Value;
  string guid = m.Groups[2].Value;
  switch (content) {
    case "image": return "<img src=\"getimage?guid=" + guid + "\" alt=\"image\">";
    case "video": return "<eeh... whatevs>";
  }
  return m.Value; // unrecognised content, so leave it unchanged
});

答案 1 :(得分:0)

我认为没有最好的解决方案,您可以选择要替换的任何格式的字符,只是让您不使用可能像普通文本的东西,例如:是否有机会你的文字包含:imageX:你不想替换?
然后编写代码并进行测试,优化。