64

各文字列の最初の文字を大文字にし、flac perl の場合は FALSE にする他のバージョンはありますか?

name<-"hallo"
gsub("(^[[:alpha:]])", "\\U\\1", name, perl=TRUE)
4

6 に答える 6

95

次のようなものを試すことができます:

name<-"hallo"
paste(toupper(substr(name, 1, 1)), substr(name, 2, nchar(name)), sep="")

または別の方法は、次のような関数を持つことです。

firstup <- function(x) {
  substr(x, 1, 1) <- toupper(substr(x, 1, 1))
  x
}

例:

firstup("abcd")
## [1] Abcd

firstup(c("hello", "world"))
## [1] "Hello" "World"
于 2013-08-29T11:32:16.720 に答える
66

コメントで指摘されているように、次のことが可能になりました。 stringr::str_to_title("iwejofwe asdFf FFFF")

stringr複雑な国際化、ユニコードなどを処理するフードの下で使用stringiします。次のことができます。 stri_trans_totitle("kaCk, DSJAIDO, Sasdd.", opts_brkiter = stri_opts_brkiter(type = "sentence"))

の下に C または C++ ライブラリがありますstringi

于 2016-01-24T20:41:44.883 に答える
2

oneliner で stringr を使用する「tidyverse」の方法が好きです

library(stringr)
input <- c("this", "is", "a", "test")
str_replace(input, "^\\w{1}", toupper)

その結果:

[1] "This" "Is"   "A"    "Test"
于 2021-12-16T20:11:45.147 に答える