R语言【base】——strsplit():将字符向量的元素根据对子字符串的匹配拆分为子字符串。

本文介绍了R语言包base中的strsplit函数,详细解释了其四个主要参数(x,split,fixed,perl,useBytes)的作用,以及如何处理正则表达式匹配、字符串拆分和编码问题。
摘要由CSDN通过智能技术生成

Package base version 4.2.0


Usage

strsplit(x, split, fixed = FALSE, perl = FALSE, useBytes = FALSE)

Arguments

参数【x】:字符向量,其中的每个元素将被拆分。其他输入,包括一个因子,将报错。

参数【split】:包含用于分割的正则表达式(除非参数【fixed】 = TRUE)的字符向量(或可以强制为这样的对象)。如果出现空匹配,特别是如果参数【split】的长度为 0,则将参数【x】拆分为单个字符。如果参数【split】的长度大于 1,则沿着参数【x】重新循环。

参数【fixed】:逻辑值。如果 TRUE 匹配精确分割,否则使用正则表达式。优先于参数【perl】

参数【perl】:逻辑值。应该使用 Perl 兼容的正则表达式吗?

参数【useBytes】:逻辑值。如果为 TRUE,则匹配是逐字节而不是逐字符进行的,并且不转换带有标记编码的输入。如果找到任何标记为 “bytes” 的输入,则强制执行(带有警告)。


Details

参数【split】将强制为 character,因此使用 参数【split】 = NULL 表示 参数【split】 = character(0)

注意,拆分为单个字符可以通过参数【split】 = character(0) 参数【split】 = NULL ;这两个是等价的。这里 'character' 的定义取决于语言环境:在单字节语言环境中,它是一个字节,而在多字节语言环境中,它是由 'wide character' 表示的单位(几乎总是Unicode码位)。

参数【split】为缺失值就不会拆分参数【x】的相应元素。

应用于每个输入字符串的算法为:

repeat {
        if the string is empty
            break.
        if there is a match
            add the string to the left of the match to the output.
            remove the match and all to the left of it.
        else
            add the string to the output.
            break.
    }

请注意,这意味着如果在(非空)字符串的开头存在匹配,则输出的第一个元素是 "",但如果在字符串的末尾存在匹配,则输出与删除匹配后的输出相同。

当前区域设置中的无效输入将被警告最多5次。


Value

参数【x】长度相同的列表,其中第 i 个元素包含参数【x】的分割向量 [i]

如果参数【x】参数【split】的任何元素被声明为 UTF-8 格式,则结果中的所有非 ascii 字符串都将被声明为 UTF-8 格式并将其编码声明为 UTF-8。(如果任何元素被声明为Latin-1,除了在Latin-1区域设置中,这也成立。)对于参数【perl】= TRUE, 参数【useBytes】 = FALSE,多字节区域设置中的所有非 ascii 字符串都被转换为 UTF-8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值