I think this should do the thing for you:
#the input
str <- " -26755.22-50150.60"
#you can use this command to split the data into 2 columns
#this doesn't have any constraint in the number of digits before and after the decimal
strspl <- as.numeric(unlist(regmatches(str,gregexpr("(?>-)*[[:digit:]]+\\.*[[:digit:]]*",str, perl=TRUE))))
Outcome:
> strspl
[1] -26755.22 -50150.60
If you want to store the outcome in a data-frame then you can use the below command
#everything is same but instead of as.numeric we replace it with as.data.frame
str_df <- as.data.frame(unlist(regmatches(str,gregexpr("(?>-)*[[:digit:]]+\\.*[[:digit:]]*",str, perl=TRUE))))
#it is not necessary to change the column but it is a good practice to do so
colnames(str_df) <- "variable_1"
Outcome:
Let me know if you have any doubt, would help you.
If you got what you are looking for, you can accept the answer by clicking on the green tick mark.