精简后获取其余文本

时间:2019-03-14 08:52:39

标签: c#

如何获取ImageString的其余文本/值并将其返回到变量中?在下面的当前代码中,我遇到了错误。

注意:ImageString = data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCAOEAlgDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAUGAwQBAgcICf/EAEkQAQABAwMCAgcCDAMFBgcAAAABAgMEBREhMTIGEgciQVFhcYETkQgUIzNCUnKCobHB0RVikkNjc7LwFhckNKL

var _strings= { response = "True", name = "John", ImageString = "(random text here (1-1000 of characters maybe?))"};
var _split =  _strings.Substring(_strings.IndexOf("ImageString"), _strings.Length);

“索引和长度必须引用字符串中的位置。

预期:我想从“ ImageString”中获取所有文本

4 个答案:

答案 0 :(得分:0)

在特定情况下,您可以使用JSON序列化程序:

public class Data
{
    public string ImageString { get; set; }
}

var data = Newtonsoft.Json.JsonConvert.Deserialize<Data>(_strings);

var myImageString = data.ImageString;

答案 1 :(得分:0)

如果我理解的正确,并且您坚持进行string操作(不是Json解析)

string _strings = 
  "{ response = \"True\", name = \"John\", ImageString = \"bla-bla-bla\" };";
string toFind = "ImageString";

int p = _strings.IndexOf(toFind);

// bla-bla-bla
string remain = p < 0
  ? ""  //TODO: Not found at all (shall we return an empty or entire string?)
  : _strings
      .Substring(p + toFind.Length)
      .TrimStart(' ', '=') // to be on the safe side: what if data starts from =
      .TrimStart('"', ' ')
      .TrimEnd('}', ';', ' ')
      .TrimEnd('"', ' ');

答案 2 :(得分:0)

var _strings= { response = "True", name = "John", ImageString = "(random text here (1-1000 of characters maybe?))"};

上面的内容看起来像一个匿名对象,但我假设您是用它来表示文本的结构。

var imageStringIndex= _strings.IndexOf("ImageString");
    var _split =  _strings.Substring(imageStringIndex<0?0:imageStringIndex, _strings.Length - 1);

  var _split =  _strings.Split("ImageString".ToCharArray()).Last();

您都为案件工作

答案 3 :(得分:0)

我看到的第一个问题是

var _strings= { response = "True", name = "John", ImageString = "(random text here (1-1000 of characters maybe?))"};

不是字符串,而是尝试使用匿名对象?

如果是,则可以使用以下方法声明对象:

var _strings = new { response = "True", name = "John", ImageString = "(random text here (1-1000 of characters maybe?))" };

然后使用标准c#语法访问对象中的任何属性:

var imageString = _strings.ImageString;

问题的答案在很大程度上取决于信息的来源,因为如果您可以控制信息,则可以声明信息并以一千种不同的方式对其进行操作。