[英]R - Regular Expression - Match the following pattern: WhitespaceHyphenWhitespaceSingledigit
考慮以下數據結構(df):
ID | 文本 |
---|---|
1 | 例子 |
2 | 示例 - 1 |
3 | 示例 - 2 |
4 | 示例 - 3 |
5 | 示例 - 4 |
6 | 示例 - 5 |
7 | 示例 - 不適用 |
8 | 文本 |
9 | 文本 - 10 |
10 | 文本 - 20 |
11 | 文本 - 30 |
12 | 文本 - 40 |
13 | 文本 - 50 |
14 | 文本 - 60 |
15 | 文本 - 70 |
16 | 文字 - 80 |
17 | 文本 - 90 |
18 | 文本 - 100 |
在“文本”列中,我想查找包含以下模式的所有行: WhitespaceHyphenWhitespaceSingledigit
或者換句話說,我想提取以下行:
ID | 文本 |
---|---|
2 | 示例 - 1 |
3 | 示例 - 2 |
4 | 示例 - 3 |
5 | 示例 - 4 |
6 | 示例 - 5 |
目前我將 grepl() 函數與正則表達式結合使用。 但是我的嘗試都不喜歡
已經解決了。 由於我是編程初學者,我將不勝感激任何建議。 提前致謝。
我會使用以下正則表達式模式:
\s-\s\d(?!\d)
這匹配空格之間的連字符,后跟一個數字,該數字本身后跟一個非數字字符或輸入的結尾。
完整的 R 代碼:
df[grepl("\\s-\\s\\d(?!\\d)", df$Text, perl=TRUE), ]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.