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

Posted

技术标签:

【中文标题】如何在数字前加上一个固定的三个字母代码?【英文标题】:How to put before numbers a fixed three letters code? 【发布时间】:2021-04-23 10:31:20 【问题描述】:

我是正则表达式的新手,所以我在替换字符串中的数字时感到困惑,其中几个 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       |
+------------------------+

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

【问题讨论】:

该列是什么数据类型?显示似乎表明这些是数组。 【参考方案1】:
regexp_replace(col, '[0-9]+', 'p_1\&', 'g') 

【讨论】:

没有 Laurenz,您写的代码中,字母“p1_”不是现有数字之前的 puf,它们完全替代它们,即 p_1&,p_1&,p_1& 抱歉,示例已修复。

以上是关于如何在数字前加上一个固定的三个字母代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何excel在数字后批量加上逗号

如何在 Excel 中将前导零添加到固定的字母数字长度? [复制]

如何在android datepicker中显示月份的前三个字母

如何将数字格式化为固定的语言环境?

切片字典的值

[R] 如何防止read.table读入数据时列名前自动加上"X."?