Ich habe einen Datensatz wie folgt. Ich möchte alle Punkte zwischen zwei 1 durch 1 ersetzen, wie im gewünschten Ergebnis gezeigt. Kann ich das mit regex
in Basis R
tun?Wie Lücke zwischen zwei Zeichen mit Regex zu füllen
Ich habe versucht:
regexpr("^1\\.1$", my.data$my.string, perl = TRUE)
Hier ist eine Lösung in C# ist
Characters between two exact characters
Sie für alle Anregungen danken.
my.data <- read.table(text='
my.string state
................1...............1. A
......1..........................1 A
.............1.....2.............. B
......1.................1...2..... B
....1....2........................ B
1...2............................. C
..........1....................1.. C
.1............................1... C
.................1...........1.... C
........1....2.................... C
......1........................1.. C
....1....1...2.................... D
......1....................1...... D
.................1...2............ D
', header = TRUE, na.strings = 'NA', stringsAsFactors = FALSE)
desired.result <- read.table(text='
my.string state
................11111111111111111. A
......1111111111111111111111111111 A
.............1.....2.............. B
......1111111111111111111...2..... B
....1....2........................ B
1...2............................. C
..........1111111111111111111111.. C
.111111111111111111111111111111... C
.................1111111111111.... C
........1....2.................... C
......11111111111111111111111111.. C
....111111...2.................... D
......1111111111111111111111...... D
.................1...2............ D
', header = TRUE, na.strings = 'NA', stringsAsFactors = FALSE)
Das war das Muster, das würde habe mit 'regexpr' ein nützlicheres Ergebnis geliefert:' "1 \\. * 1" '. Die '^' und '$' würden nur Übereinstimmungen zulassen, wenn die 1en an beiden Enden der Zeichenkette wären (und das Fehlen eines Quantifizierers würde nur einer Zeichenkette mit nur einer Periode entsprechen.) –
Was ist das erwartete Ergebnis, wenn vier (oder mehr) 1 sind auf der gleichen Linie (dh ".. 1 ... 1 ... 1 ... 1.")? '..11111 ... 11111..' oder' ..1111111111111..'? –