删除字符串中的字符?

时间:2015-12-27 03:59:17

标签: c# string

这是我的字符串:

[{"url":"http:\/\/is1.mzstatic.com\/image\/thumb\/Music6\/v4\/47\/20\/1f\/47201fb7-ddbf-2ff9-767d-4e26065d0158\/source\/600x600bb.jpg"

这就是我需要的:

http:\/\/is1.mzstatic.com\/image\/thumb\/Music6\/v4\/47\/20\/1f\/47201fb7-ddbf-2ff9-767d-4e26065d0158\/source\/600x600bb.jpg

我很肯定我使用以下内容删除了引号:

s = s.Replace("\"", "");

但我该如何删除:

[{"url":

我想我会使用类似的东西:

int index = sourceString.IndexOf(removeString);
string cleanPath = (index < 0)
    ? sourceString
    : sourceString.Remove(index, removeString.Length);

但由于某些原因我无法将其添加到此处,因为它本身使用双引号。

3 个答案:

答案 0 :(得分:1)

假设您没有使用任何JSON库并只获取属性url值,那么为什么不使用string.IndexOf()保持简单并忽略第一个和最后一个char?

var idx = rawJSON.IndexOf(':');
if ( idx > -1 )
{
   return rawJSON.SubString(idx + 2, rawJSON.Length - (idx + 2 + 1));  //calculating in my head....
}
else
{
   return rawJSON;
}

答案 1 :(得分:1)

这是一种享受:

var s = @"[{""url"":""http:\/\/is1.mzstatic.com\/image\/thumb\/Music6\/v4\/47\/20\/1f\/47201fb7-ddbf-2ff9-767d-4e26065d0158\/source\/600x600bb.jpg""}]";

var jarray = Newtonsoft.Json.JsonConvert.DeserializeObject(s) as Newtonsoft.Json.Linq.JArray;
var url = jarray[0].Value<string>("url");

我明白了:

  

http://is1.mzstatic.com/image/thumb/Music6/v4/47/20/1f/47201fb7-ddbf-2ff9-767d-4e26065d0158/source/600x600bb.jpg

你只需要NuGet&#34; Newtonsoft.Json&#34;获得图书馆。

答案 2 :(得分:0)

您可以在Replace()上再次使用[{"url":,只需记住您已删除第一个"上的Replace,现在只有[{url:

s = s.Replace("\"","");
s = s.Replace("[{url:", ""); // s no longer has " after the first Replace