Here is code to split on the first and last comma.  This code draws heavily from an answer by @bdemarest here: Split string on first two colons  The gsub pattern below, which is the meat of the answer, contains important differences.  The code for creating the new data frame after strings are split is the same as that of @bdemarest
# Replace first and last commas with colons.
new.string <- gsub(pattern="(^[^,]+),(.+),([^,]+$)", 
              replacement="\\1:\\2:\\3", x=my.data$my.string)
new.string
# Split on colons
split.data <- strsplit(new.string, ":")
# Create data frame
new.data <- data.frame(do.call(rbind, split.data))
names(new.data) <- paste("my.string", seq(ncol(new.data)), sep="")
my.data$my.string <- NULL
my.data <- cbind(new.data, my.data)
my.data
#   my.string1 my.string2 my.string3 some.data
# 1        123   34,56,78         90        10
# 2         87      65,43         21        20
# 3         a4         b6      c8888        30
# 4         11       bbbb      ccccc        40
# 5         uu      vv,ww         xx        50
# 6          j  k,l,m,n,o          p        60
# Here is code for splitting strings on the first comma
my.data <- read.table(text='
my.string        some.data
123,34,56,78,90     10
87,65,43,21         20
a4,b6,c8888         30
11,bbbb,ccccc       40
uu,vv,ww,xx         50
j,k,l,m,n,o,p       60', header = TRUE, stringsAsFactors=FALSE)
# Replace first comma with colon
new.string <- gsub(pattern="(^[^,]+),(.+$)", 
                   replacement="\\1:\\2", x=my.data$my.string)
new.string
# Split on colon
split.data <- strsplit(new.string, ":")
# Create data frame
new.data <- data.frame(do.call(rbind, split.data))
names(new.data) <- paste("my.string", seq(ncol(new.data)), sep="")
my.data$my.string <- NULL
my.data <- cbind(new.data, my.data)
my.data
#   my.string1  my.string2 some.data
# 1        123 34,56,78,90        10
# 2         87    65,43,21        20
# 3         a4    b6,c8888        30
# 4         11  bbbb,ccccc        40
# 5         uu    vv,ww,xx        50
# 6          j k,l,m,n,o,p        60
# Here is code for splitting strings on the last comma
my.data <- read.table(text='
my.string        some.data
123,34,56,78,90     10
87,65,43,21         20
a4,b6,c8888         30
11,bbbb,ccccc       40
uu,vv,ww,xx         50
j,k,l,m,n,o,p       60', header = TRUE, stringsAsFactors=FALSE)
# Replace last comma with colon
new.string <- gsub(pattern="^(.+),([^,]+$)", 
                   replacement="\\1:\\2", x=my.data$my.string)
new.string
# Split on colon
split.data <- strsplit(new.string, ":")
# Create new data frame
new.data <- data.frame(do.call(rbind, split.data))
names(new.data) <- paste("my.string", seq(ncol(new.data)), sep="")
my.data$my.string <- NULL
my.data <- cbind(new.data, my.data)
my.data
#     my.string1 my.string2 some.data
# 1 123,34,56,78         90        10
# 2     87,65,43         21        20
# 3        a4,b6      c8888        30
# 4      11,bbbb      ccccc        40
# 5     uu,vv,ww         xx        50
# 6  j,k,l,m,n,o          p        60