1
摆脱中国,我想摆脱那个只包含中国,韩国标签等如何在PostgreSQL
我发现下面列出与非ASCII字符线:
select col from tablename where col ~ '[^[:ascii:]]';
如何更改此列表只包含非ASCII字符的行?
摆脱中国,我想摆脱那个只包含中国,韩国标签等如何在PostgreSQL
我发现下面列出与非ASCII字符线:
select col from tablename where col ~ '[^[:ascii:]]';
如何更改此列表只包含非ASCII字符的行?
看来你最重要的是匹配一个不包含指定字符的字符串。
您需要首先确定您不想匹配的字符/范围,并将它们置于否定的括号表达式中。
所以,如果你需要匹配包含非ASCII字符的字符串只需要使用
select col from tablename where col ~ '^[^[:ascii:]]+$';
注意^
匹配字符串的开始,[^[:ascii:]]+
比赛1+煤焦比ASCII和$
火柴等字符串的结尾。
现在,如果您需要匹配不包含ASCII字母的条目,请将模式替换为^[^a-zA-Z]+$
。
如果需要使用ASCII字母/数字匹配条目,请使用^[^a-zA-Z0-9]+$
。
尝试'where col〜'^ [^ [:ascii:]] + $'' –
肯定会找到一些,但我不认为它找到了全部。只有25条线,很确定还有更多的方法;可能需要空间? – Superdooperhero
对不起,只有你有数据并可以指定要求。 '^ [^ [:ascii:]] + $'匹配由1个或多个非ASCII字符组成的字符串。 –