web-dev-qa-db-fra.com

Première lettre en majuscule

Existe-t-il une autre version pour rendre la première lettre de chaque chaîne en majuscule et aussi avec FAUX pour flac perl?

name<-"hallo"
gsub("(^[[:alpha:]])", "\\U\\1", name, Perl=TRUE)
36
Klaus

Vous pouvez essayer quelque chose comme:

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

Ou une autre façon est d'avoir une fonction comme:

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

Exemples:

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

firstup(c("hello", "world"))
## [1] "Hello" "World"
61
alko989

Comme indiqué dans le commentaire, il est désormais possible de faire: stringr::str_to_title("iwejofwe asdFf FFFF")

stringr utilise stringi sous le capot qui s'occupe de l'internationalisation complexe, de l'unicode, etc., vous pouvez faire: stri_trans_totitle("kaCk, DSJAIDO, Sasdd.", opts_brkiter = stri_opts_brkiter(type = "sentence"))

Il y a une bibliothèque C ou C++ sous stringi.

36
Jack Wasey

pour le typer paresseux:

  paste0(toupper(substr(name, 1, 1)), substr(name, 2, nchar(name)))

fera aussi.

14
irJvV