Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何分离字符串,c#_C#_Xml_String_Youtube - Fatal编程技术网

如何分离字符串,c#

如何分离字符串,c#,c#,xml,string,youtube,C#,Xml,String,Youtube,我在从这个字符串中获取“关键字”时遇到问题,我尝试了string.replace(),但它不起作用,有人知道如何将关键字与这个字符串分开吗? var url = "< id xmlns=\"http://www.w3.org/2005/Atom\">http://gdata.youtube.com/feeds/api/videos/keyword< /id>"; var url=“http://gdata.youtube.com/feeds/api/videos/ke

我在从这个字符串中获取“关键字”时遇到问题,我尝试了string.replace(),但它不起作用,有人知道如何将关键字与这个字符串分开吗?
var url = "< id xmlns=\"http://www.w3.org/2005/Atom\">http://gdata.youtube.com/feeds/api/videos/keyword< /id>";

var url=“http://gdata.youtube.com/feeds/api/videos/keyword”;

谢谢你的帮助

我相信有更好、更干净的方法,但这应该是可行的:

string keyword = url.Substring((url.IndexOf("videos/")) + 7,url.Length - url.IndexOf("< /id>")+1);
string关键字=url.Substring((url.IndexOf(“videos/”))+7,url.Length-url.IndexOf(“”)+1);
或者这个:

string keyword = url.Substring(83, url.Length - url.IndexOf("< /id>") + 1);
string关键字=url.Substring(83,url.Length-url.IndexOf(“”)+1);
var url=“http://gdata.youtube.com/feeds/api/videos/keyword”;

string[]splitArra=url.Split(新字符[]{'/','在处理xml文档时,很容易获取元素值:

var xml = "<id xmlns=\"http://www.w3.org/2005/Atom\">http://gdata.youtube.com/feeds/api/videos/keyword</id>";
var url = XElement.Parse(xml).Value;

var index = url.LastIndexOf('/') + 1;
var keyword = url.Substring(index);

谢谢@Alexei

你到底想做什么?如果你只想知道它是否包含“关键字”,那么有
contains()
函数。如果你想在“关键字”处拆分字符串,你可以尝试
split()
请不要通过string split/regex解析XML。在.Net Framework中有很多处理XML文件/流的选项:
XmlDocument
XDocument
XmlReader
+1。使用
Uri
/
UriBuilder
Path.xxxx
提取Uri的最后一段将是非常专业的做法答案:)我同意@Alexei,
新Uri(url).Segments.Last()
将是一个很好的解决方案。@MNie由于
字符串
是不可变的,您必须将
子字符串()
方法的结果放在新的
字符串
中。
var xml = "<id xmlns=\"http://www.w3.org/2005/Atom\">http://gdata.youtube.com/feeds/api/videos/keyword</id>";
var url = XElement.Parse(xml).Value;

var index = url.LastIndexOf('/') + 1;
var keyword = url.Substring(index);
var keyword = new Uri(url).Segments.Last();