我的代码如c1c5, c5c1, c4c3 ...
我想要检索以c4
和c5
开头或结尾的所有合欢名。
我尝试过使用以下内容:
str_detect(colnames(df), "c5c\\d+")
str_detect(colnames(df), "c4c\\d+")
str_detect(colnames(df), "c\\d+c4")
str_detect(colnames(df), "c\\d+c5")
有没有办法将它与一个表达式结合起来?请指教。
答案 0 :(得分:3)
尝试<script>
$('#myModal').on('hidden.bs.modal', function () {
$('#myModal').removeData('bs.modal');
});
</script>
<script>
$('#myModal2').on('hidden.bs.modal', function () {
$('#myModal2').removeData('bs.modal');
location.reload();
});
</script>
:
sapply
有了这个,你就可以通过&#34; c4&#34;开始或结束这些名字。或&#34; c5&#34;。
如果你的长度大于4的colnames,或者你想使用不同于&#34; c4&#34;或&#34; c5&#34;你可以用以下方法概括:
colnames(df)[sapply(X = colnames(df), FUN = function (X) substr(X, 1, 2) %in% c("c4", "c5") | substr(X, 3, 4) %in% c("c4", "c5"))]
你甚至可以更多地概括它,依赖于案例。
答案 1 :(得分:2)
您可以使用
str_detect(colnames(df), "^c[54]|c[54]$")
或者,用基数R:
grep("^c[45]|c[45]$", colnames(df))
正则表达式为^c[45]|c[45]$
:
^
- 字符串开头c
- c
[45]
- 4
或5
|
- 或c[45]
- c4
或c5
... $
- ...在字符串的末尾。答案 2 :(得分:1)
你也可以这样做。即使您在字符串中有多个单词,它也能正常工作。
str_detect(colnames(df), "(\bc[45])|(c[45]\b)")