Wie ersetze ich die Zeichenfolge genau mit gsub ()

7

Ich habe ein Korpus: txt="eine strukturierte Schicht innerhalb eines mikroelektronischen Musters" Ich möchte den Begriff "Muster" genau durch "Form" ersetzen, ich versuche einen Code zu schreiben:

%Vor%

Das Antwortkorpus in txt_replaced lautet jedoch: "Eine gebildete Schicht innerhalb einer mikroelektronischen Form."

Wie Sie sehen, wird der Begriff "gemustert" fälschlicherweise durch "gebildet" ersetzt, weil Teile der Merkmale in "gemustert" mit "Muster" übereinstimmen.

Ich möchte abfragen, ob ich die Zeichenfolge genau mit gsub () ersetzen kann? Das heißt, nur der Ausdruck mit genau Übereinstimmung sollte ersetzt werden.

Ich dürste nach einer Antwort wie unten: "Eine strukturierte Schicht in einer mikroelektronischen Form."

Vielen Dank!

    
ssuhan 02.10.2011, 15:11
quelle

1 Antwort

21

Wie @koshke bemerkt hat, wurde eine sehr ähnliche Frage schon früher (von mir) beantwortet. ... Aber das war grep und das ist gsub , also werde ich es noch einmal beantworten:

"\ & lt;" ist eine Escape-Sequenz für den Anfang eines Wortes und "& gt;" das ist das Ende. In R-Strings müssen Sie die umgekehrten Schrägstriche verdoppeln, also:

%Vor%

Oder Sie könnten \b anstelle von \< und \> verwenden. \b entspricht einer Wortgrenze, so dass sie an beiden Enden verwendet werden kann & gt;

%Vor%

Beachten Sie auch, dass Sie, wenn Sie nur EINEN Vorkommen ersetzen möchten, sub anstelle von gsub verwenden sollten.

    
Tommy 02.10.2011, 17:00
quelle

Tags und Links