String 在Matlab中使用sscanf读取字符串
我正在尝试读取特定格式的字符串String 在Matlab中使用sscanf读取字符串,string,matlab,scanf,String,Matlab,Scanf,我正在尝试读取特定格式的字符串 <ahref="/teams/spain/real-sociedad-de-futbol/2028/">RealSociedad</a> 这是字符串的一个示例,我想提取的是团队的名称 我试过这样的方法 houseteam = sscanf(str, '<ahref="%*s">%s</a>'); houseteam=sscanf(str',); 但是它不起作用,为什么呢?找到了解决办法。因此,%s在找到空间
<ahref="/teams/spain/real-sociedad-de-futbol/2028/">RealSociedad</a>
这是字符串的一个示例,我想提取的是团队的名称
我试过这样的方法
houseteam = sscanf(str, '<ahref="%*s">%s</a>');
houseteam=sscanf(str',);
但是它不起作用,为什么呢?找到了解决办法。因此,
%s
在找到空间时停止
str = regexprep(str, '<', ' <');
str = regexprep(str, '>', '> ');
houseteam = sscanf(str, '%*s %s %*s');
str=regexprep(str',);
houseteam=sscanf(str,'%*s%s%*s');
这将在我想要的字符串之间创建一个空格。您可以像在上面的帖子中那样使用它来为您完成此操作。即使您的帖子说要使用sscanf
,并且从帖子中的评论中可以看出,您希望使用regexprep
完成此操作。您必须使用两个嵌套的regexprep
调用来执行此操作,并且您可以像这样检索团队名称(即RealSociedad
),因为str
采用您提供的格式:
str = '<ahref="/teams/spain/real-sociedad-de-futbol/2028/">RealSociedad</a>';
houseteam = regexprep(regexprep(str, '^<a(.*)">', ''), '</a>$', '')
这表示您正在寻找字符串开头以a
开头的模式。因此,正则表达式将匹配以下字符串:
<ahref="/teams/spain/real-sociedad-de-futbol/2028/">
我们想去掉<代码> <代码>字符串,因此我们将在代码末尾查找另一个<代码> ReXEXPRP 调用,然后在字符串末尾查找<代码> <代码>,然后再次用空白字符串替换它。因此,您正在寻找的模式是:
</a>$
我会建议你使用正则表达式,但你的帖子说你想要
sscanf
,这就是为什么我没有回复!不管怎样,答案都很好。你能给我举个例子吗?用正则表达式还是sscanf
?你所有的字符串都像上面的格式吗?基本上,你会看到
?是的,但我不想要“/teams/spain/real sociedad de futbol/2028/”
这部分,它并不总是一样的。@SamuelNLP-不客气:)我不认为你会接受我的答案,因为你想要的是sscanf
。不过,非常感谢你。。。这就是我需要进入下一层的代表:)再次感谢!
<ahref="/teams/spain/real-sociedad-de-futbol/2028/">
RealSociedad</a>
</a>$
RealSociedad