欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言使用Stringr與正則表達式進行字符串處理代碼示例

 更新時間:2025年07月21日 09:12:47   作者:代嗎嘍  
在R語言中正則表達式常用于處理字符串,特別是在數(shù)據(jù)清洗和預(yù)處理階段,這篇文章主要介紹了R語言使用Stringr與正則表達式進行字符串處理的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

字符串處理是數(shù)據(jù)清洗與分析中必不可少的一環(huán)。R語言中的stringr包提供了強大且易用的字符串處理函數(shù),而正則表達式則使得字符串的匹配與替換更為靈活和高效。本文將詳細(xì)介紹如何使用stringr和正則表達式來處理字符串,并提供相應(yīng)的示例代碼。

一、Stringr 包

1. 創(chuàng)建與查看

  • 查看

    library(stringr)
    str_view("Hello World", "World")
    

    使用str_view可以直觀地查看匹配結(jié)果,base::writeLines可以顯示字符串內(nèi)容。

  • 轉(zhuǎn)義符:使用\\進行轉(zhuǎn)義,例如:

    # cat()函數(shù):Concatenate and Print(連接和打?。?
    cat("This is a backslash: \\")
    
    This is a backslash: \
    
  • 原始字符串:可以避免頻繁的轉(zhuǎn)義,例如:

    raw_string <- r"(\d{3}-\d{2}-\d{4})"
    

2. 長度與子集

  • 字符串長度

    str_length("Hello")
    
    [1] 5
    
  • 按位置提取子集

    str_sub("Hello World", 1, 5)
    
    [1] "Hello"
    
  • 填充字符串

    str_pad("Hello", width = 10, side = "both", pad = "-")
    
    [1] "--Hello---"
    

3. 檢測匹配

  • 檢測匹配:返回邏輯值,注意是向量運算;可以與sum()等統(tǒng)計函數(shù)合用。

    str_detect(c("apple", "banana", "pear"), "a")
    
    [1] TRUE TRUE TRUE
    
  • 選擇匹配的子集:對于字符串向量,選出符合匹配的子集,注意與str_sub區(qū)分開。

    str_subset(c("apple", "banana", "pear"), "a")
    
    [1] "apple"  "banana" "pear"  
    
  • 統(tǒng)計匹配次數(shù)

    str_count(c("apple", "banana", "pear"), "a")
    
    [1] 1 3 1
    
  • 查看匹配

    str_view(c("apple", "banana", "pear"), "a")
    

4. 提取匹配

  • 提取第一個匹配項:如果沒有匹配則返回NA

    str_extract("The price is $123", "\\$\\d+")
    
    [1] "$123"
    
  • 提取所有匹配項

    str_extract_all("The price is $123 or $456", "\\$\\d+")
    
    [1] "$123" "$456"
    
  • 分組匹配

    str_match("The price is $123", "(\\$\\d+)")
    

5. 修改字符串

  • 按位置替換子集

    text <- "Hello, world!"
    str_sub(text, 1, 5) <- "Hi"
    
  • 轉(zhuǎn)換為小寫

    str_to_lower("Hello")
    
  • 替換匹配項

    str_replace("The price is $123", "\\$\\d+", "$456")
    

6. 連接和分割

  • 合并字符串

    str_c("Hello", "World", sep = " ")
    
  • 分割字符串

    str_split("apples,oranges,pears", ",")
    

7. 排序與定位字符串

  • 排序字符向量

    str_sort(c("banana", "apple", "pear"))
    
  • 返回排序序號

    str_order(c("banana", "apple", "pear"))
    
  • 定位匹配項

    str_locate("The price is $123", "\\$\\d+")
    

二、正則表達式

1. 基礎(chǔ)/精確匹配

最簡單的正則表達式是匹配一個精確的字符串,如apple。

2. 條件

  • “或”匹配

    str_detect(c("apple", "banana", "pear"), "apple|banana")
    
  • “之一”匹配

    str_detect(c("apple", "banana", "pear"), "[aeiou]")
    

3. 錨點 (始于權(quán)力^(power),終于金錢$)

  • 開始匹配

    str_detect("apple", "^a")
    
  • 結(jié)尾匹配

    str_detect("apple", "e$")
    

4. 量詞

  • 出現(xiàn)0次或1次

    str_detect(c("color", "colour"), "colou?r")
    
  • 出現(xiàn)1次或更多

    str_detect(c("apple", "aple"), "ap+le")
    

5. 特殊字符集合

  • 匹配任何數(shù)字(digit)

    str_detect("123abc", "\\d")
    
  • 匹配空白字符(space)

    str_detect("a b", "\\s")
    

6. 分組與回溯引用

  • 分組匹配

    str_match("The price is $123", "(\\$\\d+)")
    
  • 回溯引用

    str_replace("abab", "(ab)\\1", "cd")
    

總結(jié) 

到此這篇關(guān)于R語言使用Stringr與正則表達式進行字符串處理的文章就介紹到這了,更多相關(guān)R語言Stringr與正則表達式字符串處理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • R語言數(shù)值取消科學(xué)計數(shù)法表示的操作

    R語言數(shù)值取消科學(xué)計數(shù)法表示的操作

    這篇文章主要介紹了R語言數(shù)值取消科學(xué)計數(shù)法表示的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言rmarkdown使用安裝教程

    R語言rmarkdown使用安裝教程

    markdown是文本處理的標(biāo)記語言,它的功能類似于word,但與word中各種排版、字體設(shè)置不同,markdown能使我們更專注于碼字這件事,用標(biāo)記語法來代替常見的排版格式,Rmarkdown基于R中的文本處理格式,這篇文章主要介紹了R語言rmarkdown使用安裝教程,需要的朋友可以參考下
    2024-02-02
  • R語言學(xué)習(xí)之字符串和時間格式化詳解

    R語言學(xué)習(xí)之字符串和時間格式化詳解

    這篇文章主要為大家詳細(xì)介紹了R語言中字符串和時間格式化的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-03-03
  • R語言中的fivenum與quantile()函數(shù)算法詳解

    R語言中的fivenum與quantile()函數(shù)算法詳解

    這篇文章主要介紹了R語言中的fivenum與quantile()函數(shù)算法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言編程學(xué)習(xí)繪制動態(tài)圖實現(xiàn)示例

    R語言編程學(xué)習(xí)繪制動態(tài)圖實現(xiàn)示例

    這篇文章主要介紹了R語言編程學(xué)習(xí)繪制動態(tài)圖實現(xiàn)示例,有需要的的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2021-10-10
  • R語言實現(xiàn)各種數(shù)據(jù)可視化的超詳細(xì)教程

    R語言實現(xiàn)各種數(shù)據(jù)可視化的超詳細(xì)教程

    Python語言越來越流行,尤其是在機器學(xué)習(xí)與深度學(xué)習(xí)等領(lǐng)域,但是R語言在數(shù)據(jù)分析與可視化方面仍然具有絕對的優(yōu)勢,下面這篇文章主要給大家介紹了關(guān)于R語言實現(xiàn)各種數(shù)據(jù)可視化的超詳細(xì)教程,需要的朋友可以參考下
    2022-11-11
  • R語言-使用ifelse進行數(shù)據(jù)分組

    R語言-使用ifelse進行數(shù)據(jù)分組

    這篇文章主要介紹了R語言-使用ifelse進行數(shù)據(jù)分組,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • R語言中字符串的拼接操作實例講解

    R語言中字符串的拼接操作實例講解

    這篇文章主要介紹了R語言中字符串的拼接操作實例講解,文中使用了具體的代碼實例,有感興趣的同學(xué)可以研究下
    2021-03-03
  • 關(guān)于R語言lubridate包處理時間數(shù)據(jù)的問題

    關(guān)于R語言lubridate包處理時間數(shù)據(jù)的問題

    這篇文章主要介紹了關(guān)于R語言lubridate包處理時間數(shù)據(jù)的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-05-05
  • 解決R語言中install_github中無法安裝遇到的問題

    解決R語言中install_github中無法安裝遇到的問題

    這篇文章主要介紹了解決R語言中install_github中無法安裝遇到的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論