C#截取中间字符串的问题!

有这么个字符串“g_img={url:'/az/hprichbg?p=rb%2fLambTurkeyKiss_EN-US8313167147_1366x768.jpg',id:'bgDiv',d:'200',cN:'_SS',crN:'bIm',hash:'147',del:'50'};”
想截取里面的文件名,就是图片红色中的部分,请问怎么搞呢。 - -! 谢谢啦!
最新回答
纞嗳の方程鉽

2024-10-03 14:44:54

如果说只有红色部分会改变,其他不变的话,那最简单啦,把黑色部分替换成空字符串就行啦,这样不管红色串怎么变,都可以取到,代码如下:
string txt=“g_img={url:'/az/hprichbg?p=rb%2fLambTurkeyKiss_EN-US8313167147_1366x768.jpg',id:'bgDiv',d:'200',cN:'_SS',crN:'bIm',hash:'147',del:'50'};”;
txt=txt.Replace("g_img={url:'/az/hprichbg?p=rb%2f","");
txt=txt.Replace("',id:'bgDiv',d:'200',cN:'_SS',crN:'bIm',hash:'147',del:'50'};","");
最后得出的txt就是你要的文件名
逍遥独淩迗

2024-10-03 00:21:34

  从格式上看是json格式
  使用json将字符串转换为对应的对象属性
  如:
  url=/az/hprichbg?p=rb%2fLambTurkeyKiss_EN-US8313167147_1366x768.jpg;
  id=bgDiv;等

  因为你说除了红色字体变动,其他都不变
  只要对url进行指定长度的截取就可以了。比如采用url.substring(22,url.length());

  具体可以再调试看看。
守护在此方

2024-10-03 21:00:04

我不知道p=rb%2f这个是不是固定的,如果是固定的,你就可以直接从这个标志位进行截取,然后直接截取到第一个“’”号结束,这样就可以完全截取文件名了。。。。
温柔姐无与伦比

2024-10-03 19:55:59

先josn分组出来,取到url数据,在截取等号后面的数据,截取前先使用url解码一次,。就可以了
天暗下来你就是光

2024-10-03 20:33:13

请问一下你这个字符串是固定的,还是会变得
追问
红色部分会变动,其他不会的。
追答
string s = “g_img={url:'/az/hprichbg?p=rb%2fLambTurkeyKiss_EN-US8313167147_1366x768.jpg',id:'bgDiv',d:'200',cN:'_SS',crN:'bIm',hash:'147',del:'50'};”;
s = s.Substring(32, s.Length-32);
s = s.Substring(0,s.Length-60);