J'ai la chaîne suivante:
[1] "10012 ---- ---- ---- ---- CAB UNCH CAB"
Je veux diviser cette chaîne par les espaces, mais les espaces ont un nombre variable d'espaces. Existe-t-il un moyen d'utiliser la fonction strsplit()
pour diviser cette chaîne et renvoyer un vecteur de 8 éléments qui a supprimé tous les écarts?
Une ligne de code est préférable.
Utilisez simplement strsplit
avec \\s+
à partager:
x <- "10012 ---- ---- ---- ---- CAB UNCH CAB"
x
# [1] "10012 ---- ---- ---- ---- CAB UNCH CAB"
strsplit(x, "\\s+")[[1]]
# [1] "10012" "----" "----" "----" "----" "CAB" "UNCH" "CAB"
length(.Last.value)
# [1] 8
Ou, dans ce cas, scan
fonctionne également:
scan(text = x, what = "")
# Read 8 items
# [1] "10012" "----" "----" "----" "----" "CAB" "UNCH" "CAB"
la fonction strsplit elle-même fonctionne, en utilisant simplement strsplit(ss, " +")
:
ss = "10012 ---- ---- ---- ---- CAB UNCH CAB"
strsplit(ss, " +")
[[1]]
[1] "10012" "----" "----" "----" "----" "CAB" "UNCH" "CAB"
HTH