如何在数字前放一个固定的三字母代码?

问题描述

我对正则表达式很陌生,所以我在替换字符串中的数字时感到困惑,其中几个 id 数字(从 1 到 5 位,到目前为止)用逗号分隔并用大括号括起来。 我需要在每个写入的数字之前放置一个固定代码,例如 p1_,以便将来区分不同类型的对象的 id。 我有一个带有文本格式的“维护”列的 postgres 数据库,它可以包含如下值(单元格不能为空或空):

+---------------+
| maintainance  |
+---------------+
| {12541,2,4}   |
+---------------+
| {12,131,9999} |
+---------------+
| {54}          |
+---------------+
| {1}           |
+---------------+
| {12500,65}    |
+---------------+

我需要像这样替换每个数字“p1_”之前的值:

+------------------------+
| maintainance           |
+------------------------+
| {p1_12541,p1_2,p1_4}   |
+------------------------+
| {p1_12,p1_131,p1_9999} |
+------------------------+
| {p1_54}                |
+------------------------+
| {p1_1}                 |
+------------------------+
| {p1_12500,p1_65}       |
+------------------------+

你能建议我如何使用正则表达式编写替换命令吗? 提前致谢

解决方法

regexp_replace(col,'[0-9]+','p_1\&','g') 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...