Oracle SQL技术需求:将点分隔字符串的每个子串用单引号包裹
嘿,这个需求很明确,我来给你分享几个不同场景下的实现方案,不管你用Python、JavaScript还是命令行脚本,都能轻松搞定把点分隔字符串的每个部分用单引号包裹的需求~
解决方案
Python 实现
这是最直观的写法,用字符串分割和拼接就能搞定:
input_str = "Hi.Hello.World" # 按点分割成子串列表 parts = input_str.split('.') # 给每个子串包裹单引号,再用点拼接回去 output_str = '.'.join(f"'{part}'" for part in parts) print(output_str) # 输出结果: 'Hi'.'Hello'.'World'
如果担心输入字符串首尾可能带多余的点,可以先做个预处理:
input_str = ".Hi.Hello.World." # 先去掉首尾的点,再分割 parts = input_str.strip('.').split('.') output_str = '.'.join(f"'{part}'" for part in parts) print(output_str) # 输出结果: 'Hi'.'Hello'.'World'
JavaScript 实现
前端或者Node.js环境下可以这么写:
const inputStr = "Hi.Hello.World"; // 分割成数组后,给每个元素包裹单引号,再拼接 const outputStr = inputStr.split('.').map(part => `'${part}'`).join('.'); console.log(outputStr); // 输出结果: 'Hi'.'Hello'.'World'
Bash 命令行实现
如果是在Linux/macOS的终端里处理文本,用sed一行就能搞定:
input="Hi.Hello.World" output=$(echo "$input" | sed "s/\([^.]*\)/'\1'/g") echo "$output" # 输出结果: 'Hi'.'Hello'.'World'
这里sed的正则表达式会匹配每个点之间的子串,然后把它们替换成带单引号的形式。
内容的提问来源于stack exchange,提问作者Miracle
相关产品推荐
相关产品推荐

