如何从不在第一个位置的任何字符串中删除所有选定的字符
Posted
技术标签:
【中文标题】如何从不在第一个位置的任何字符串中删除所有选定的字符【英文标题】:How to remove all selected character from any strings which is not at first position 【发布时间】:2019-08-05 07:45:03 【问题描述】:如何通过 mysql 中的正则表达式从任何字符串中删除所有的“A”(除了位于同一字符串开头位置的“A”)?
例如,我有一列“MemberName”,其中包含字符串“ANSHUMAN”和更多类似的名称。我想知道如何从字符串“ANSHUMAN”中删除除位于起始位置的“A”之外的所有“A”。
【问题讨论】:
【参考方案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
【讨论】:
以上是关于如何从不在第一个位置的任何字符串中删除所有选定的字符的主要内容,如果未能解决你的问题,请参考以下文章
为啥微信编辑时鼠标选中一个字,而且打字时会自动删除后面的字?