可以說我有一個字符串「你好」。我想看看這個字符串包含一個週期:Grepl在R?期間?
text <- "Hello."
results <- grepl(".",text)
這將返回結果爲真實的,但它會返回,以及如果文字是「你好」。我非常困惑,在文檔中我找不到任何有關此內容的內容,並且僅在此期間執行此操作。
任何想法?
謝謝!
可以說我有一個字符串「你好」。我想看看這個字符串包含一個週期:Grepl在R?期間?
text <- "Hello."
results <- grepl(".",text)
這將返回結果爲真實的,但它會返回,以及如果文字是「你好」。我非常困惑,在文檔中我找不到任何有關此內容的內容,並且僅在此期間執行此操作。
任何想法?
謝謝!
見這些示例的不同
> grepl("\\.", "Hello.")
[1] TRUE
> grepl("\\.", "Hello")
[1] FALSE
的.
意味着任何事,因爲SimonO101指出的那樣,如果你想尋找一個明確的.
,那麼你必須使用\\.
跳過它,這意味着尋找一個.
R文檔在正則表達式上很廣泛,您也可以看看this link以瞭解點的用法。
我用Jilber的做法通常是,但這裏有另外兩種方式:
> grepl("[.]", "Hello.")
[1] TRUE
> grepl("[.]", "Hello")
[1] FALSE
> grepl(".", "Hello.", fixed = TRUE)
[1] TRUE
> grepl(".", "Hello", fixed = TRUE)
[1] FALSE
''是* *任意字符 「」。 *** ***任何東西。你的意思是「\\。」。 –
Au contraire!文檔花費了大量的時間來描述'grepl'如何使用正則表達式,其中'.'是一個特殊字符。文檔中甚至還有關於正則表達式的部分的鏈接,以及關於如何設置'fixed = TRUE'將執行精確匹配而不使用正則表達式的大量討論。 – joran
現貨。 @joran,我需要梳理它,因爲我沒有在模式匹配和替換文本中看到它。 – marc