Items that appear to be character when printed but for which R thinks otherwise are generally factor classes objects. I'm also guessing that you are not going to be happy with the list output that strsplit will return. Try:
gsub( "%", "", as.character(LOAN$RATE) n)
Factors which are appear numeric can be a source of confusion as well:
> factor("14.9%")
[1] 14.9%
Levels: 14.9%
> as.character(factor("14.9%"))
[1] "14.9%"
> gsub("%", "", as.character(factor("14.9%")) )
[1] "14.9"
This is especially confusing since print.data.frame removes the quotes:
> data.frame(z=factor("14.9%"), zz=factor(14.9))
z zz
1 14.9% 14.9
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…