Regex das ganze Wort zu ersetzen, wenn jedes Wort alle nicht alphanumerischen Zeichen oder Leerzeichen enthält
-
05-10-2019 - |
Frage
z
string = "Dies ist ein Re @ lly lange, lange, lange Satz!";
wird
string = "Dies ist ein langer Satz";
Im Grunde, so dass alle nicht-alphanumerische Worte oder entfernt zu halten Räume in Angeheftetes
Irgendwelche Ideen?
Lösung
Versuchen Sie dieses:
preg_replace("/(^|\\s)\\S*?[^ a-zA-Z0-9]\\S*?(\\s|$)/", '$1', $string)
Andere Tipps
Ich denke, so etwas wie diese ganz intuitiv:
<?php
$text = "This is a #@^!%$ re@lly long long,long! sentence";
print preg_replace("/\\w*[^\\w\\s]\\w*\\s*/", "", $text);
?>
Der Ausgang ist ( als auf ideone.com gesehen):
This is a long sentence
Dies funktioniert, indem eine beliebige Folge von \w*
Anpassung, die von [^\w\s]
(weder ein Wortzeichen noch ein Leerzeichen) gefolgt wird, durch eine Folge von \w*\s*
gefolgt. Alles, was diese Anpassung kann gelöscht werden, so dass es mit ""
ersetzt wird.
Siehe auch
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow