It looks like you are trying to get the reference and alternate alleles? Only looking for one character suggests you are only interested in SNPs? You could use strsplit to generate a data frame of ref and alt alleles.
test <- c("G>GA", "T>A", "G>A", "G>A", "A>T", "CT>C", "T>C", "T>C", "A>T", "T>C", "T>A", "A>G", "CCGCCGCGGCCGCCGTCTTCCACCAACAACATGGCGGA>C", "C>T", "T>A", "T>C", "T>G", "G>C", "T>G", "T>A", "G>A")
Alleles <- data.frame(t(data.frame(sapply(test, function(x) strsplit(x,split=">")))),row.names=NULL,stringsAsFactors=F)
colnames(Alleles) <- c("Ref","Alt")
Alleles$bases <- apply(Alleles,1,function(x) sum(length(unlist(strsplit(x[1],split=""))),length(unlist(strsplit(x[2],split="")))))
SNPs <- Alleles[Alleles$bases == 2,]
Just taking a single base either side of the replace (>) is going to give you wrong genetic information. The variant "CCGCCGCGGCCGCCGTCTTCCACCAACAACATGGCGGA>C" would get reduced to "A>C" - it looks like a simple SNP but is the same as a deletion of the last 38 bases "CGCCGCGGCCGCCGTCTTCCACCAACAACATGGCGGA>-".
Is this what you were after?