java和postgresql替换多种空白字符(包括制表符、换行、空格等):

发布于:2025-06-19 ⋅ 阅读:(16) ⋅ 点赞:(0)

 替换多种空白字符(包括制表符、换行、空格等):

// 替换所有空白字符为空
String cleanStr = input.replaceAll("\\s+", "");

// 替换所有空白字符为空格
String replaceWithSpace = input.replaceAll("\\s+", " ");

  1. 查询model_engineering_param_scheme_val 表中 psc_id = 40 且 pm_val 字段包含空格的数据;
  2. 并执行 UPDATE 语句,将这些记录的 pm_val 中的所有空格删除(替换为空字符串)。
    ✅ 第一步:查看哪些数据包含空格你可以先用 SELECT 确认目标数据:
SELECT *
FROM model_engineering_param_scheme_val
WHERE psc_id = 40
  AND pm_val LIKE '% %'
ORDER BY pm_val ASC;

这个语句会列出所有 psc_id = 40 且 pm_val 包含至少一个空格的记录。

✅ 第二步:更新字段,去除所有空格使用 SQL 的 REPLACE() 函数来去掉 pm_val 中的所有空格:🔧 MySQL / SQL Server / MariaDB 支持语法:

UPDATE model_engineering_param_scheme_val
SET pm_val = REPLACE(pm_val, ' ', '')
WHERE psc_id = 40
  AND pm_val LIKE '% %';

✅ 如果你还想去除其他空白字符(如制表符 \t、换行符等)可以使用正则表达式(仅限支持正则替换的数据库,例如 PostgreSQL 或 MySQL 8.0+):
🟢 MySQL 8.0+ 使用正则替换(REGEXP_REPLACE):

UPDATE model_engineering_param_scheme_val
SET pm_val = REGEXP_REPLACE(pm_val, '[[:space:]]', '')
WHERE psc_id = 40
  AND pm_val REGEXP ' ';

这会删除 pm_val 中所有的空白字符(包括空格、Tab、换行等)。
✅ PostgreSQL 示例:

UPDATE model_engineering_param_scheme_val
SET pm_val = regexp_replace(pm_val, '\s+', '', 'g')
WHERE psc_id = 40
  AND pm_val ~ ' ';

✅ 温馨提示
•✅ 建议在执行 UPDATE 之前对数据进行备份。
•✅ 可以先运行 SELECT * FROM … WHERE psc_id = 40 AND pm_val LIKE ‘% %’ 查看影响范围。
•✅ 如果字段中还有中文空格(全角空格 ),也需要单独处理:
– 同时去除半角和全角空格

UPDATE model_engineering_param_scheme_val
SET pm_val = REPLACE(REPLACE(pm_val, ' ', ''), ' ', '')
WHERE psc_id = 40
  AND pm_val LIKE '% %';

网站公告

今日签到

点亮在社区的每一天
去签到