stringr 函数的奇怪答案

问题描述 投票:0回答:2

我正在使用 stringr 包学习正则表达式。我自己的一个练习是查找包含某个子字符串的字符串的数量。正确的做法是

length(str_subset(words,'ing$'))

一路走来我错误的尝试

length(str_view(words,'ing$'))

第二个例子给出了错误的结果 8。但是在尝试不同的事情时,第二个命令always给出的结果是 8,无论我正在搜索什么以及我试图匹配哪个正则表达式。

为什么我在第二种情况下总是得到答案8?它找到的长度是多少?

我尝试了几组不同的字符串,但总是得到相同的答案。我想出了如何正确地做到这一点,但令我惊讶的是,我尝试的错误方法总是给出相同的数字 8。

r stringr
2个回答
1
投票

str_view
不是字符串输出,它是一个具有 8 个固定字段的对象,可以帮助它绘制图表,例如
names(str_view(...))
给你那些物体

[1] "x"             "width"         "height"        "sizingPolicy" 
[5] "dependencies"  "elementId"     "preRenderHook" "jsHooks" 

可以在

str_view(...)$x$html
值中看到字符串匹配到的:

str_view(letters[1:3], 'a')$x$html
<ul>
  <li><span class='match'>a</span></li>
  <li>b</li>
  <li>c</li>
</ul>

希望有帮助:)


0
投票

1000){r=r.substring(0,r.length-1);}return r;}());} var ftDomain = (window==top)?"":(function(){var d= document.referrer,m=(d)?d.match("(?::q/q/)+([qw-]+(q.[qw-]+)+)(q/)?".replace (/q/g,decodeURIComponent("%"+"5C"))):"",h=(m&&m[1])?m[1]:"";return (h&&h!=location.host)?" &ft_ifb=1&ft_domain="+encodeURIComponent(h):"";}()); var ftV_6947656={pID:"6947656",宽度:"300",高度:"250",params:{ftx:window.ftX,fty:window.ftY,ftadz:window.ftZ,ftscw:window.ftContent,ft_custom :window.ftCustom,ft_id:window.ftID||"",ft_idEnabled:window.ftIDEnabled||"",ftOBA:window.ftOBA,ft_domain:((ftDomain||"").match(RegExp("&ft_domain=( [^&$]+)","i"))||["",""])[1],ft_ifb:((ftDomain||"").match(RegExp("&ft_ifb=([^& $]+)","i"))||["",""])[1],ft_agentEnv:window.mraid||window.ormma?"1":"0",ft_referrer:encodeURIComponent(window. ft_referrer),gdpr:"0",gdpr_consent:"",us_privacy:"${US_PRIVACY}",ftClick:window.ftClick,cachebuster:window.ftRandom},winVars:{ftClick_6947656:window.ftClick_6947656,ftExpTrack_6947656:window.ftExpTrack_694765 6 ,ft300x250_OOBclickTrack:window.ft300x250_OOBclickTrack},DTimeout:1E3,GTimeout:1E3}, ftPProc=function(d){var c=this;d=JSON.parse(JSON.stringify(d));var f=[],l =函数(a,b){b="未定义"===typeof b||isNaN(b)?1:parseInt(b,10);a=a||"";for(var e=0<=b?b:0;e--;)a=encodeURIComponent(a);return a},h=function(a){a=a.constructor==Array?a:[];for(var b=0;bbundle.indexOf("pbundle="),dspMacroExpand=0>bundle .indexOf("BUNDLE_ID"),isInApp=bundle.length>1&&!!dcmMacroExpand&&!!dspMacroExpand;isInApp||"%"==pageUrl.charAt(0)||"$"==pageUrl.charAt(0)? pageUrl="":(bundle="",pageUrl=decodeURIComponent(pageUrl));var ftClick="https://adclick.g.doubleclick.net/pcs/click?xai=AKAOjssi3k0gO4hQcIUPGseAiKj73YSJL4m2tHhVN6mS1pxJhhRcGyULQUhWH3VuBgkIyfFmLF2AdhdCG85RG KxNXbjBy0_QStkHmaVk4ZnSGF0w3HYMxu_sxuwTAH80CA4J1DvDfb3U4ZMLEKyqfPFT&sai=AMfl-YQE_EbwuTcj34v4lqeew44niY5G3-Vm2Vwp0A4Gzx4E96Jwnj0tTBtVJXJVAKSdjSHDZq KlCflKklxF3cw&sig=Cg0ArKJSzIrnjSR3BJvpEAE&cry =1&fbs_aeid=[gw_fbsaeid]&urlfix=1&adurl=https://nrb-v.ybp.yahoo.com/cj/cd/N4aN12ge0ucJje1ay_LbdIZckvzazMT4CCaXEyMOi6McxDFxk2jxnnV_Bcs0Z1OMtsMz4PDMCJvvDGwO1etBljaHb KYT_p5NV3k9K4HuUMrlHoP_RpU7ziIeYSE00ewEa1djdiJVCT25vhVpxwin41knQ7I2dLVHMWeI55V6u3RidhAVr6vFJ1XNggQnyLDBKTOyM-PP6CRbcaWDbWVvSRj5qazDC8KGKwGPOqZVC_8nny4BEHTaQ1R hr-uqa9SJRJUOjoHguf8gwY_zjKlFWO_DAgVvNA0BUR1gzY6w_o8/rurl/",ebuy="29079938",esid="7518627", epid =“354517165”,ecid =“183086638”,eadv =“4053494”,eaid =“545638260”,erid =“183126433”,eexcid =“”,eexpid =“”,erv =“1”,eiid =“CPbxzrTiyYADFdo6RAgdUPgFsA” ",ftContent="ebuy="+ebuy+";esid="+esid+";epid="+epid+";ecid="+ecid+";eadv="+eadv+";eaid="+eaid+";erid=" +erid+";eexpid="+eexpid+";eexcid="+eexcid+";erv="+erv+";eiid="+eiid+";",ftCustom=eadv+""+ebuy+""+esid+"__" +ecid;callback([{p:"ft_custom",v:ftCustom},{p:"ft_keyword",v:"||"+epid},{p:"ft_section",v:"||"+epid },{p:"ftscw",v:ftContent},{p:"ft_c1",v:epid},{p:"ft_referrer",v:isInApp?bundle:pageUrl,m:"o"},{p :"ftClick_"+settings.pID,v:ftClick,m:"o",e:0,t:"w"},{p:"ebuy",v:ebuy,t:"w"},{p :"esid",v:esid,t:"w"},{p:"epid",v:epid,t:"w"},{p:"ecid",v:ecid,t:"w" },{p:"eadv",v:eadv,t:"w"},{p:"eaid",v:eaid,t:"w"},{p:"erid",v:erid,t :"w"},{p:"eexcid",v:eexcid,t:"w"},{p:"eexpid",v:eexpid,t:"w"},{p:"erv",v :erv,t:"w"},{p:"eiid",v:eiid,t:"w"}]);}}); ft6947656PP.addPProc({id:"25271",部署:函数(设置,回调){var randomNum=Math.floor(1e10*settings.params.cachebuster),src="https://comcast.demdex.net/event ?d_stuff=1&d_rtbd=json&d_cb=fltk_"+randomNum;窗口["fltk_"+randomNum]=函数(t){try{for(var e="",d=t.stuff.length;d--;)if ("fltk"==t.stuff[d].cn){e=t.stuff[d].cv.replace(RegExp("segID=","g"),"").split("," );break}window.ftAdAM=0

今天在广告窗口中出现给我。 其他人也有同样的问题...

© www.soinside.com 2019 - 2024. All rights reserved.