Heim > Backend-Entwicklung > PHP-Tutorial > update go_member set username = replace(name,'nicht-chinesische Zeichen',''); Wie schreibe ich nicht-chinesische Zeichen?

update go_member set username = replace(name,'nicht-chinesische Zeichen',''); Wie schreibe ich nicht-chinesische Zeichen?

WBOY
Freigeben: 2016-08-04 09:19:45
Original
1320 Leute haben es durchsucht

Update go_member set username = replacement(username,'non-Chinese Characters','');

Ich möchte die Namen in der Datenbank ersetzen, solange es sich bei den Namen nicht um Zahlen, Buchstaben oder chinesische Schriftzeichen handelt (also Sonderzeichen entfernt werden), werde ich sie ersetzen. Wie geht das? ? ?

Die Datenbank ist MySQL

Antwortinhalt:

Update go_member set username = replacement(username,'non-Chinese Characters','');

Ich möchte die Namen in der Datenbank ersetzen, solange es sich bei den Namen nicht um Zahlen, Buchstaben oder chinesische Schriftzeichen handelt (also Sonderzeichen entfernt werden), werde ich sie ersetzen. Wie geht das? ? ?

Die Datenbank ist MySQL

MySQL reguläres Matching, es ist gut, meinen lokalen Test auszuprobieren
update go_member set username= '' where username not REGEXP '[[:alpha:]]|[0-9]|[a-z,A-Z]'

----Danke für die Einladung----
Idee 1 (nicht empfohlen): Dumme Methode, zuerst alle Daten herausfinden und dann die Ergebnisse filtern (nicht filtern). -Chinesische Zeichen) Die Daten zeichnen die ID dieser Daten auf und werden dann aktualisiert

Idee 2 (empfohlen): Reguläre Ausdrücke in SQL verwenden. Reguläre Ausdrücke können auch in SQL verwendet werden. Es hängt davon ab, welche Datenbank Sie verwenden. Bestimmte Datenbanken haben unterschiedliche Syntaxen. Das hängt von Ihrer Situation ab, googeln Sie es einfach selbst
Zum Beispiel verfügt Oracle über diese vier regulären Ausdrucksfunktionen: regexp_like, regexp_replace, regexp_substr und regexp_instr.
Beispiel:
wählen Sie aus emp, wobei regexp_like ( ename,'^a[a-z]n$'); Sie finden die Zeilen, die mit a beginnen und mit n enden, in ename

Basierend auf den oben genannten Lösungen können Sie auf Google gehen, um es selbst herauszufinden. . . . Hoffe es hilft.

Wenn Sie PHP verwenden, verwenden Sie am besten reguläre Ausdrücke in PHP, um Ergebnisse abzugleichen und zu filtern. Obwohl MySQL, wie oben erwähnt, reguläre Abfrageanweisungen unterstützt, ist die Effizienz geringer.
Der reguläre Ausdruck für Chinesisch lautet: /([u4e00-u9fa5])/u, der reguläre Ausdruck zum Filtern nicht-chinesischer Zeichen lautet dann: /([^u4e00-u9fa5])/u

Stellen Sie ein reguläres Muster für chinesische Schriftzeichen unter PHP UTF-8 bereit

<code><?php
$str = "one中国你好two";
$preg = "/\p{Han}+/u";
$result = preg_replace($preg, '', $str);
var_dump($result);</code>
Nach dem Login kopieren

P in Kleinbuchstaben entspricht chinesischen Zeichen, P in Großbuchstaben entspricht nicht-chinesischen Zeichen

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage