これはもう少し一般的な解決策ですが、「バナナ」を明示的に操作することを簡単に目的とすることができます。
V1 <- c("Apple", "OrangeBanana", "BananaBananaBanana", "Watermelon", "GrapeBanana")
まず、単語の境界ではないすべての大文字を見つけて、スペースと大文字に置き換えて、それらを分割しましょう。
splits <- gsub("(?:\\B)([[:upper:]])"," \\1" , V1, perl=TRUE)
[1] "Apple" "Orange Banana" "Banana Banana Banana" "Watermelon" "Grape Banana"
次に、スペース文字で分割し、リストからベクターに変換します。
unlist(strsplit(splits, " "))
[1] "Apple" "Orange" "Banana" "Banana" "Banana" "Banana" "Watermelon" "Grape" "Banana"
または1行で:
unlist(strsplit(gsub("(?:\\B)([[:upper:]])"," \\1" , V1, perl=TRUE), " "))
編集:「バナナ」で明示的に機能する正規表現の場合:
gsub("(?:\\B)(Banana)"," \\1" , V1, perl=TRUE)