<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Pessoal, obrigado pelas dicas!</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Tive sucesso com a sugestão do Marcus e acabei encontrando mais uma forma, transcrita abaixo.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default"><div class="gmail_default"><font face="verdana, sans-serif">test <- c("SPA100", "MSA200", "MSB300", "MSC400", "MSC500", "PRA100", "PRC200", "MGV100", "MTJ400", "MTK500")</font></div></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default"><div class="gmail_default"><font face="verdana, sans-serif">grep("MSC", test, val=T, invert=T)</font></div><div class="gmail_default"><font face="verdana, sans-serif"># [1] "SPA100" "MSA200" "MSB300" "PRA100" "PRC200" "MGV100" "MTJ400" "MTK500"</font></div><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default"><font face="verdana, sans-serif">grep("^(?!MSC)", test, val=T, perl=T) </font></div><div class="gmail_default"><font face="verdana, sans-serif"># [1] "SPA100" "MSA200" "MSB300" "PRA100" "PRC200" "MGV100" "MTJ400" "MTK500"</font></div></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_extra"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span><br>================================================<br>Éder Comunello<br>Researcher at Brazilian Agricultural Research Corporation (Embrapa)<br>DSc in Agricultural Systems Engineering (USP/Esalq)<br>MSc in Environ. Sciences (UEM), <span>Agronomist (UEM)</span><br>---<br>Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>|<br>================================================<br>GEO, -22.2752, -54.8182, 408m<br>UTC-04:00 / DST: UTC-03:00</span><div><div><div><br></div><div><br></div></div><div style="font-size:small"><br></div></div></div></div></div></div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">Em 4 de outubro de 2016 10:25, Tiago Fragoso <span dir="ltr"><<a href="mailto:mingote@gmail.com" target="_blank">mingote@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Oi</p>
<p dir="ltr">Estou longe do R no momento, mas na sua segunda solução, você tentou usar a regex "^[^MSC]{0,3}"?</p>
<p dir="ltr">Em princípio, ela força o início da string e identifica todos os caracteres fora do conjunto MSC, para valores entre 0 e 3 ocorrências.</p>
<p dir="ltr">Note que nesse caso a regex vai identificar strings iniciadas em M,S ou C. Me parece que você tem os padrões M, MS ou MSC, então talvez a regex </p>
<p dir="ltr">"^[^M|^MS|^MSC]"</p>
<p dir="ltr">resolva.</p>
<div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Oct 4, 2016 9:49 AM, "Éder Comunello via R-br" <<a href="mailto:r-br@listas.c3sl.ufpr.br" target="_blank">r-br@listas.c3sl.ufpr.br</a>> wrote:<br type="attribution"></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr"><div style="font-family:verdana,sans-serif">Senhores, bom dia!</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Considerando o vetor:</div><div style="font-family:verdana,sans-serif"><br></div><div><div><font face="verdana, sans-serif">test <- c("SPA100", "MSA200", "MSB300", "MSC400", "MSC500",</font></div><div><font face="verdana, sans-serif"> "PRA100", "PRC200", "MGV100", "MTJ400", "MTK500")</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Posso obter facilmente os valores iniciados com a sequência "MS":</font></div><div><span style="font-family:verdana,sans-serif">grep("^MS", test, val=T)</span><br></div><div><pre class="m_8652825290448170742m_5806458295527553271gmail-GCWXI2KCJKB" id="m_8652825290448170742m_5806458295527553271gmail-rstudio_console_output" style="font-family:"ubuntu mono";outline:none;border:none;word-break:break-all;margin-top:0px;margin-bottom:0px;line-height:16px;color:rgb(0,0,0);font-size:10.4pt;white-space:pre-wrap"># [1] "MSA200" "MSB300" "MSC400" "MSC500"</pre></div><div><span style="font-family:verdana,sans-serif"><br></span></div><div><span style="font-family:verdana,sans-serif">Uma primeira tentativa, sem sucesso, para obter linhas que não iniciam com a sequência foi:</span></div><div><span style="font-family:verdana,sans-serif">grep("^!(MS)", test, val=T)</span><span style="font-family:verdana,sans-serif"><br></span></div><div><span style="font-family:verdana,sans-serif"># </span><span style="color:rgb(0,0,0);font-family:"ubuntu mono";font-size:10.4pt;line-height:16px;white-space:pre-wrap">character(0)</span></div><div><span style="font-family:verdana,sans-serif"><br></span></div><div><span style="font-family:verdana,sans-serif">Consegui uma solução estranha com:</span></div><div><font face="verdana, sans-serif">grep("^[^M]|^M[^S]", test, val=T)</font></div><div><pre class="m_8652825290448170742m_5806458295527553271gmail-GCWXI2KCJKB" id="m_8652825290448170742m_5806458295527553271gmail-rstudio_console_output" style="font-family:"ubuntu mono";outline:none;border:none;word-break:break-all;margin-top:0px;margin-bottom:0px;line-height:16px;color:rgb(0,0,0);font-size:10.4pt;white-space:pre-wrap"># [1] "SPA100" "PRA100" "PRC200" "MGV100" "MTJ400" "MTK500"</pre></div><div><br></div><div>Mas essa solução é limitada quando usando strings maiores, tal como "MSC". </div><div><br></div><div>Embora existam alternativas como:</div><div><span style="font-family:verdana,sans-serif">test[-grep("^MSC", test)]</span><br></div><div><pre class="m_8652825290448170742m_5806458295527553271gmail-GCWXI2KCJKB" id="m_8652825290448170742m_5806458295527553271gmail-rstudio_console_output" style="font-family:"ubuntu mono";outline:none;border:none;word-break:break-all;margin-top:0px;margin-bottom:0px;line-height:16px;color:rgb(0,0,0);font-size:10.4pt;white-space:pre-wrap"># [1] "SPA100" "MSA200" "MSB300" "PRA100" "PRC200" "MGV100" "MTJ400" "MTK500"</pre></div></div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Gostaria de saber se há uma forma fácil de fazer isso usando diretamente uma regexp.</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Grato,</div><div><div class="m_8652825290448170742m_5806458295527553271gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><span><br>==============================<wbr>==================<br>Éder Comunello<br>Researcher at Brazilian Agricultural Research Corporation (Embrapa)<br>DSc in Agricultural Systems Engineering (USP/Esalq)<br>MSc in Environ. Sciences (UEM), <span>Agronomist (UEM)</span><br>---<br>Embrapa Agropecuária Oeste, Dourados, MS, Brazil |<O>|<br>==============================<wbr>==================<br>GEO, -22.2752, -54.8182, 408m<br>UTC-04:00 / DST: UTC-03:00</span><div><div><div><br></div><div><br></div></div><div style="font-size:small"><br></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
<br></div></div><span class="">______________________________<wbr>_________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" rel="noreferrer" target="_blank">https://listas.inf.ufpr.br/cgi<wbr>-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" rel="noreferrer" target="_blank">http://www.leg.ufpr.br/r-br-g<wbr>uia</a>) e forneça código mínimo reproduzível.<br></span></blockquote></div></div>
</blockquote></div><br></div></div>