Lassen Sie uns sagen, ich habe die folgende Zeichenfolge:Regex - Ersatzzeichen in einem passenden
input = "askl jmsp wiqp;THIS IS A MATCH; dlkasl das, fm"
Ich brauche die weißen Räume mit Unterstrichen zu ersetzen, sondern nur in den Teil die einem Muster entsprechen. (In diesem Fall wäre das Muster ein Semikolon vor und nach.)
Die erwarteten ausgegeben werden soll:
output = "askl jmsp wiqp;THIS_IS_A_MATCH; dlkasl das, fm"
Irgendwelche Ideen, wie das zu erreichen, vorzugsweise mit regulären Ausdrücken, und ohne die Aufspaltung Schnur?
Ich habe versucht:
gsub("(.*);(.*);(.*)", "\\2", input) # Pattern matching and
gsub(" ", "_", input) # Naive gsub
nicht sie beide zusammen obwohl setzen könnte.
Basierend auf dem Beispiel 'gsub ("(? <= [AZ]) \\ s +", "_", Eingang, perl = TRUE)' arbeitet – akrun
@ WiktorStribiżew 'gsub (" (. *) ; (. *); (. *) "," \\ 2 ", Eingabe) # Pattern matching' und' gsub ("", "_", Eingabe) # Naive gsub. .. Konnte nicht beide zusammen setzen obwohl .. – Deena
Ist die Anzahl der Plätze unbekannt? Wenn nicht, wird Ihr Ansatz funktionieren. –