0

我有一个字符串:<p><img title="\pi a{^{2}}" src="http://latex.codecogs.com/gif.latex?\pi&amp;space;a{^{2}}" /></p>我想用 base64 字符串替换它。

代码:

string soalP = file.Path;
string decodeFile = Uri.UnescapeDataString(file.DisplayName);
byte[] imageArray = System.IO.File.ReadAllBytes(soalP);
string base64ImageRepresentation = Convert.ToBase64String(imageArray);
soal = Regex.Replace(soal, "\"http://latex.codecogs.com/gif.latex?" + "\\" + decodeFile + "\"", "data:image/jpeg;base64," + base64ImageRepresentation);

我有一条错误消息:

解析 '" http://latex.codecogs.com/gif.latex ?\pi&space;a{^{2}}"' - 格式错误的 \p{X} 字符转义。

如何处理?

笔记:

我先下载了图片,并保存在本地文件夹中。

文件名是编码文件名

4

1 回答 1

0

由于您使用的是正则表达式,因此在Regex.Replace()方法中,第二个参数被视为正则表达式进行解析。当字符串中有特殊字符时,可能会被误认为是正则表达式的符号解析,从而导致失败。如果您仍然对反斜杠感到困惑,可以使用string.Replace()方法进行字符替换。

soal = soal.Replace("\"http://latex.codecogs.com/gif.latex?" + "\\" + decodeFile + "\"", "data:image/jpeg;base64," + base64ImageRepresentation);
于 2019-10-10T09:52:42.923 回答