列标题
是这样的:
14 blue5 sky
3 5gold sun"
'/lorem ip25sum
light moon
我需要删除除字母和单词之间的单个空格之外的所有内容。
所以上面的例子应该是:
blue sky
gold sun
lorem ipsum
light moon
有什么帮助吗?
phpMyAdmin:
Server: 127.0.0.1 via TCP/IP
Server type: MariaDB
Server connection: SSL is not being used Documentation
Server version: 10.1.37-MariaDB - mariadb.org binary distribution
Protocol version: 10
User: root@localhost
Server charset: UTF-8 Unicode (utf8)
最佳答案
您应该能够使用嵌套的REGEXP_REPLACE
来实现您想要的:
SELECT REGEXP_REPLACE(
REGEXP_REPLACE(
REGEXP_REPLACE(title, '[^[:alpha:] ]', ''),
'^\\s+', ''),
'\\s+', ' ') AS newtitle FROM table1
第一个 REGEXP_REPLACE
删除所有非字母字符;第二个删除字符串开头的所有空格,最后一个将一个或多个空格的任何序列替换为一个空格。
输出(用于您的示例数据):
newtitle
blue sky
gold sun
lorem ipsum
light moon
čć đš hello
要更新表中的值,您可以使用以下查询:
UPDATE table1
SET title = REGEXP_REPLACE(
REGEXP_REPLACE(
REGEXP_REPLACE(title, '[^[:alpha:] ]', ''),
'^ ', ''),
'\\s+', ' ')
关于php - 删除列中除字母和单个空格之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53937460/