C# 在C中从字符串中分离base64图像的最佳方法#

C# 在C中从字符串中分离base64图像的最佳方法#,c#,C#,我更喜欢使用正则表达式,而不是任何HTML解析器 从HTMl字符串中提取base64图像的最佳方法如下: "<p>This is test </p> <p><img src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUA....+tzPaXLlstlSjpcxKPEqV/zH//2Q==\"></p>&

我更喜欢使用正则表达式,而不是任何HTML解析器

从HTMl字符串中提取base64图像的最佳方法如下:

 "<p>This is test </p>
  <p><img src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUA....+tzPaXLlstlSjpcxKPEqV/zH//2Q==\"></p>"

如果有一个足够的HTML解析器用于这个用例,正如其他人在评论中所建议的那样,那么就这样做吧

但是,如果这不起作用,正则表达式将起到解救作用!这是使用肯定的lookback断言,并且在第一个双引号之前匹配所有内容。应该有效--如果不起作用,则进行调整

var val = "<p>This is test </p><p><img src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUA....+tzPaXLlstlSjpcxKPEqV/zH//2Q==";
var match = Regex.Match(val, "(?<=data:image/jpeg;base64,)[^\"]*");
Console.WriteLine(match.Value);

// output: /9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUA....+tzPaXLlstlSjpcxKPEqV/zH//2Q==


var val=“这是测试

请使用一个语法分析器。不要自己编写这样的东西-这么多边缘情况需要处理,不可能完全调试。请获取一个预先编写的语法分析器。
var val = "<p>This is test </p><p><img src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUA....+tzPaXLlstlSjpcxKPEqV/zH//2Q==";
var match = Regex.Match(val, "(?<=data:image/jpeg;base64,)[^\"]*");
Console.WriteLine(match.Value);

// output: /9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUA....+tzPaXLlstlSjpcxKPEqV/zH//2Q==