You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark中使用Regexp_replace移除字符串中间的双引号

解决首尾含双引号字符串的中间引号替换问题

需求说明

给定的字符串始终包含首尾双引号,需仅移除其中间的双引号并替换为空格,示例如下:

  • 输入:"pyspark"Data" → 输出:"pyspark Data"
  • 输入:"google"chrome" → 输出:"google chrome"
  • 输入:"master"file"name" → 输出:"master file name"

Python 实现方案

方法1:字符串切片+替换

直接通过切片剥离首尾引号,替换中间引号后再补回首尾引号:

input_str = '"master"file"name"'
output_str = f'"{input_str[1:-1].replace('"', ' "')}"'
print(output_str)  # 输出:"master file name"

方法2:正则表达式精准匹配

利用正则断言匹配非首尾位置的双引号,避免误替换首尾引号:

import re

input_str = '"pyspark"Data"'
output_str = re.sub(r'(?<!^)"(?!$)', ' ', input_str)
print(output_str)  # 输出:"pyspark Data"

正则解释:(?<!^) 确保匹配的引号不在字符串开头,(?!$) 确保不在字符串结尾,仅替换中间的引号。


JavaScript 实现方案

方法1:字符串切片+替换

const inputStr = '"google"chrome"';
const outputStr = `"${inputStr.slice(1, -1).replace(/"/g, ' ')}"`;
console.log(outputStr); // 输出:"google chrome"

方法2:正则表达式替换

const inputStr = '"master"file"name"';
const outputStr = inputStr.replace(/(?<!^)"(?!$)/g, ' ');
console.log(outputStr); // 输出:"master file name"

内容的提问来源于stack exchange,提问作者Shailesh Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:04:54