本文概述
- R中的字符串规则
- 字符串的串联
- 查找长度
- 更改为大写和小写
- 提取和替换字符串
- 格式化字符串
- 本文总结
在本教程中, 你将学习R中的字符串, 并且我们将介绍以下主题。
- 首先, 你将研究R中的字符串和R中的字符串规则。
- 之后, 你将深入研究R中的String串联与String的其他基本属性。
- 另外, 将详细说明提取和替换字符串。
- 最后, 格式化字符串, 它可以是转换为格式正确的格式的任何矢量输入。
例如:’ cars’ , ‘ merry’ s’ , ‘ merry \’ s’ 是R中的有效字符串。
以双引号开头的字符串需要以双引号结尾。但是, 你可以将单引号引起来, 并且通过转义序列(‘ \’ ), 双引号也可以成为字符串的一部分。
例如:” cars” , ” merry’ s” , ” merry \” 也是R中的有效字符串。
字符串的串联String的串联使字符串可以合并或合并。
在R中串联字符串的语法是通过以下方式完成的:
paste(… , sep =” ” , collapse = NULL)
paste0(… , collapse= NULL)
上面粘贴中的参数指出:
- ‘ … ’ -表示一个或多个转换为字符向量的字符或对象。
- ‘ sep’ -表示分隔符
- ‘ collapse’ -表示可选的分隔字符。
上面的代码给出了一个字符串, 如下所示:
"I eat rice"
例如, 让我们考虑下面的示例, 其中变量包含转换为单个字符串的向量:
my.var1 = c(‘ Book’ , ‘ Copy’ )my.var2 = c(‘ Pen’ , ‘ Chair’ )print(paste(my.var1, my.var2, sep =” ” , collapse =” -” ))
上面的代码提供以下输出:
"Book Pen-Copy Chair"
在这里, 由于使用折叠, 输出在Pen和Copy之间包含一个” -“ , 这使两个不同的向量分开。相反, sep包含一个space(” ), 其中各个项目由其分隔。
让我们考虑包含paste0()的示例
paste0()的参数为sep =, ” , 即没有空格并且可以提高效率。
state.name <
- paste0('Mary', 'l', 'and')
print(state.name)
上面代码的输出在下面, 其中所有字符都合并为一个, 并且到sep为止没有单独的空格。
"Maryland"
查找长度nchar(char, type, allowNA, keepNA)-查找给定向量中的字符总数。
nzchar(char)-如果x为非空值, 则返回TRUE;如果包含任何字符串, 则返回FALSE。
上面粘贴中的参数指出:
- char-表示字符向量。
- 类型-表示三种类型之一, 即” 宽度” , “ 字符” , “ 字节” 。
- allowNA-表示逻辑默认值为FALSE, 如果无法计算结果将不是错误, 但返回NA。
- keepNA-表示逻辑默认值FALSE, 它将缺省值映射为2, 而nzchar()将给出TRUE, 但是在缺失值的情况下两者都将映射为TRUE。
上面的示例返回” 5″ 作为输出, 因为向量中存在五个字符。
对于使用nzchar()的示例, 让我们看下面的代码:
new.char = nzchar(” monkey” )print(new.char)
上面的代码给出了逻辑值” TRUE” , 因为” new.char” 不是一个空字符串。
my.char = nzchar(“ ” )print(my.char)
上面的代码给出了逻辑值” FALSE” , 因为” my.char” 是一个空字符串。
更改为大写和小写toupper(char)-将所有存在的字符更改为大写。
tolower(char)-将所有存在的字符更改为小写。
让我们看一下更改为大写字母的示例。 my.var = toupper(“ 我变成大写字母” )print(my.var)
上面的代码给出如下输出, 其中变量” my.var” 中的每个字符都变为大写。
"I'M CHANGED TO UPPER CASE"
让我们看一下更改为小写字母的示例。 my.var = tolower(“ 我改成小写” )print(my.var)
上面的代码给出如下输出, 其中变量” my.var” 中的每个字符都变为小写。
""i'm changed to lower case""
提取和替换字符串substr(char, start, stop):提取和替换字符串。
上面的论点指出:
- char-表示字符串。
- start-指示指定要返回的相应起始值的整数。
- stop-指示一个整数, 该整数指定要返回的相应停止值。
final.value <
- substring('Remaining', 3, 9)
print(final.value)
在上面的代码中, ” Remaining” 是一个字符串, 其中第一个索引为” R” , 索引为整数1。最后一个字符为g, 其索引为整数9。
上面的代码显示了下面的输出, 其中起始值是整数3, 在“ 剩余” 中具有对应的字符“ m” 。类似地, 其他字符“ ainin” (直到整数9)包括相应的字符“ g” ‘ , 将其打印出来。
"maining"
让我们看另一个替换字符的示例。
y = "Remaining"
substring(y, 3, 5) <
- "der"
print(y)
上面的代码显示了输出, 其中3到5的起始整数值(具有y中的相应字符值)被替换为’ der’ 。
"Rederning"
substring(char, first, last = 1000000L):提取或替换字符串。
上面的论点指出:
- char-表示字符串。
- first-指示指定要返回的相应第一个值的整数。
- last-指示一个整数, 该整数指定要返回的相应最后值, 默认值为1000000L。
my.value <
- substring('Remaining', 3, 8)
print(my.value)
上面的代码显示了下面的输出, 其中起始值是整数3, 在“ 剩余” 中具有对应的字符“ m” 。类似地, 其他字符(直到整数8)(包括对应的字符作为“ n” )被打印出来。
"mainin"
让我们看另一个替换字符的示例。
y = "newcharacter"
substring(y, 6, 9) <
- "???"
print(y)
上面的代码显示了输出, 其中y中对应的字符值从6到9的起始整数值被替换为’ ???’ 。
"newch???cter"
格式化字符串format(char,width,scientific,justify,nsmall,digits):将整数和字符的矢量转换为常用格式。
上面的论点指出:
- char-可以是整数或字符的向量。
- width-表示产生的字符串的最小宽度。
- scientific-默认为FALSE, 但对科学计数法使用TRUE。
- justify-默认为none, 但可以显示字符串” right” , ” left” 和” center” 。
- nsmall-表示小数点后的总数
- digits-表示小数点前后的总数。
my.var <
- format(c(2, 19.267), scientific = TRUE)
print(my.var)
上面的代码显示了输出, 以科学或指数符号表示
"2.0000e+00" "1.9267e+01"
输出” 1.9267e + 01″ = 1.9267 x 10(至1次幂)= 1.9267× 10 = 19.267。
让我们举一个使用nsmall格式化的例子。
my.var <
- format(92.56656577, nsmall = 6)
print(my.var)
上面的代码给出以下输出, 其中包括小数点后6个数字。
"92.566565"
让我们以使用数字进行格式化为例。
my.var <
- format(102.848793834, digits = 7)
print(my.var)
上面的代码给出以下输出, 其中包括从小数点后的数字到小数点后的数字。
"102.8488"
包括七个数字作为输出, 最后一个数字需要为7, 但是由于前一个数字(即9大于7), 它会增加到8。简单地说, 就是四舍五入。
让我们以使用右对齐为例进行格式化。
my.var <
- format('Running', justify = 'r', width = 9)
print(my.var)
上面的代码提供了以下输出, 其中字符” Running” 以一定的宽度向右对齐。
"Running"
让我们以在中心使用对齐字符进行格式化为例。
my.var <
- format('Running', justify = 'c', width = 12)
print(my.var)
上面的代码提供以下输出, 其中字符” Running” 被对齐为居中, 左右之间有一定的宽度间隔。
"Running"
本文总结恭喜, 你已完成本教程的结尾!
你已经了解了R的字符串:其规则, 串联, 字符串的基本属性, 提取和替换字符串以及格式化字符串。
如果你想了解有关R的更多信息, 请参加srcmini的R入门课程。
推荐阅读
- 实时估计COVID-19的感染数量(在R中复制)
- Android(如何在GMAIL上获取SSO的YOUR_AUTHENTICATION_ENDPOINT())
- 同步期间Android studio错误(远程主机强行关闭现有连接)
- Android - 关闭特定的蓝牙插座
- Android开发 - 通过3G缓慢的互联网连接
- 如何在ACCDB项目中设置Application.CurrentProject.Connection()
- PlayerPrefs没有在android上工作
- Android FileOutputStream位置保存文件
- 恢复android中活动的动态UI元素