R:大写工作正常
R: is capitalize working properly
"my"capitalize
工作正常吗?这是来自内部的测试用例-r.org,其结果在评论中:
library(Hmisc)
words <- strsplit("Hello wOrld", " ")[[1]];
cat(paste(toupper(words), collapse=" "), "\n") # "HELLO WORLD"
cat(paste(tolower(words), collapse=" "), "\n") # "hello world"
cat(paste(capitalize(words), collapse=" "), "\n") # "Hello WOrld"
这是我得到的:
HELLO WORLD
hello world
Hello wOrld #WRONG!!!
另一个测试用例:
> capitalize(c("Hello world", "hello world", "hello World"))
[1] "Hello world" "Hello world" "hello World"
案例3又错了。 IE。如果在我的例子中 capitalize
在字符串中的任何地方看到一个大写字母,它就不能正常工作。有什么想法吗?
更新。 R.utils
解决了问题
library(R.utils)
capitalize(c("Hello world", "hello world", "hello World", "test cAse"))
[1] "Hello world" "Hello world" "Hello World" "Test cAse"
您必须使用小写字符串才能使 capitalize
正常工作。一个简单的解决方法是使用 tolower
除了 capitalize
。
capitalize(tolower(c("Hello world", "hello world", "hello World")))
## [1] "Hello world" "Hello world" "Hello world"
我不确定你在追求什么,但这是我对我认为你在追求的东西的破解。最好描述您的目标或提供所需的输出。这是一个正则表达式方法,只将第一个单词的首字母大写,并将每个单词的首字母大写:
x <- c("Hello world", "hello world", "hello World", "test cAse")
sub("(\w)(\w*)", "\U\1\E\2", x, perl=TRUE)
## [1] "Hello world" "Hello world" "Hello World" "Test cAse"
gsub("(\w)(\w*)", "\U\1\E\2", x, perl=TRUE)
## [1] "Hello World" "Hello World" "Hello World" "Test CAse"
"my"capitalize
工作正常吗?这是来自内部的测试用例-r.org,其结果在评论中:
library(Hmisc)
words <- strsplit("Hello wOrld", " ")[[1]];
cat(paste(toupper(words), collapse=" "), "\n") # "HELLO WORLD"
cat(paste(tolower(words), collapse=" "), "\n") # "hello world"
cat(paste(capitalize(words), collapse=" "), "\n") # "Hello WOrld"
这是我得到的:
HELLO WORLD
hello world
Hello wOrld #WRONG!!!
另一个测试用例:
> capitalize(c("Hello world", "hello world", "hello World"))
[1] "Hello world" "Hello world" "hello World"
案例3又错了。 IE。如果在我的例子中 capitalize
在字符串中的任何地方看到一个大写字母,它就不能正常工作。有什么想法吗?
更新。 R.utils
library(R.utils)
capitalize(c("Hello world", "hello world", "hello World", "test cAse"))
[1] "Hello world" "Hello world" "Hello World" "Test cAse"
您必须使用小写字符串才能使 capitalize
正常工作。一个简单的解决方法是使用 tolower
除了 capitalize
。
capitalize(tolower(c("Hello world", "hello world", "hello World")))
## [1] "Hello world" "Hello world" "Hello world"
我不确定你在追求什么,但这是我对我认为你在追求的东西的破解。最好描述您的目标或提供所需的输出。这是一个正则表达式方法,只将第一个单词的首字母大写,并将每个单词的首字母大写:
x <- c("Hello world", "hello world", "hello World", "test cAse")
sub("(\w)(\w*)", "\U\1\E\2", x, perl=TRUE)
## [1] "Hello world" "Hello world" "Hello World" "Test cAse"
gsub("(\w)(\w*)", "\U\1\E\2", x, perl=TRUE)
## [1] "Hello World" "Hello World" "Hello World" "Test CAse"