如何从不在第一位置的任何字符串中删除所有选定的字符

时间:2019-03-14 12:03:53

标签: mysql regex regexp-replace

如何通过MySQL中的正则表达式从任何字符串(位于相同字符串开始位置的“ A”除外)中删除所有“ A”

例如,我有一列“ MemberName”,其中包含字符串“ ANSHUMAN”和更多类似的名称。我想知道如何从字符串“ ANSHUMAN”中删除位于起始位置的“ A”以外的所有“ A”。

1 个答案:

答案 0 :(得分:1)

您可以使用REGEXP_REPLACE使用以下解决方案:

SELECT REGEXP_REPLACE(column_name, '[A]+', '', 2)
FROM table_name

REGEXP_REPLACE的第四个参数定义了搜索的起始位置。


另一个不使用正则表达式的解决方案(以防MySQL版本不支持):

SELECT CONCAT(LEFT(column_name, 1), REPLACE(SUBSTR(column_name, 2), 'A', ''))
FROM table_name

demo on dbfiddle.uk