2016-01-14 3 views
0

У меня есть куча чартерных строк различной длины, которые содержат цифры и буквы. Все чартерные строки заканчиваются _, а затем номером (например, _30, _100, _500 или _1000).Извлечь буквы (некоторые цифры) и под партитурами из символьной строки

String Объект ниже содержит несколько примеров.

Strings <- c("DET37_30", "DET37_500", "Ele_100", "Ele_1000", "NDVI_MeanMax_100", "RadWint_30", "RadWint_500", "Slope_100") 

Для каждого имени столбца, я хочу, чтобы выбрать все цифры, буквы и _ до окончательного _number

Например DET37_30 и DET_500 приведет к DET37 и Ele_100 и Ele_1000 приведет Эле.

Другими словами, я хочу, чтобы все значения перед окончанием _30, _100, _500 или _1000.

+0

@Richard Scriven сделано, где ваш ответ прошел, было приятно :) – NicE

ответ

3

Вы можете попробовать:

gsub("(.*)_[0-9]*","\\1",Strings) 

Он заменяет всю строку, все, что перед подчеркиванием.

0
sub("_\\d+$", "", Strings) 
#[1] "DET37"  "DET37"  "Ele"   "Ele"   "NDVI_MeanMax" "RadWint"  
#[7] "RadWint"  "Slope" 

Это регулярное выражение соответствует подчеркивание, за которой следует одна или более цифр, и она использует $ якорь, чтобы позволить соответствует только в конце строки.

Смежные вопросы