You can use regex (?<=[a-z])(?=[0-9])with tidyr::separate:
> tidyr::separate(df, A, into = c("name", "value"), "(?<=[a-z])(?=[0-9])")
name value
1 enc 0
2 enc 10
3 enc 25
4 enc 100
5 harab 0
6 harab 25
7 harab 100
8 requi 0
9 requi 25
10 requi 100
(?<=[a-z])(?=[0-9]) ASCII ((?<=[a-z])) ((?=[0-9])). (?<=...) - , , (?=...) - , . , .
extract:
extract(df, A, into = c("name", "value"), "^([a-z]+)(\\d+)$")
:
name value
1 enc 0
2 enc 10
3 enc 25
4 enc 100
5 harab 0
6 harab 25
7 harab 100
8 requi 0
9 requi 25
10 requi 100
^([a-z]+)(\\d+)$ :
^ -([a-z]+) - 1 ( name): ASCII(\\d+) - 2 ( value):$ - .