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

Python中如何为特定字符串/字符添加空格并完善自定义函数?

解决日语字符串的空格添加问题

嘿,我来帮你搞定这个字符串处理需求~首先得说下你原来写的函数存在几个问题:

  • 条件判断里用了赋值符号=,应该用比较符号==才对;
  • 函数里的x、y、z没有定义,不知道是从哪来的;
  • 整个逻辑只是判断单个子串返回,没有针对输入的完整文本做替换处理,根本没法处理你给的长字符串。

针对你的需求,我们可以用正则表达式来精准匹配需要添加空格的位置,这样代码简洁又高效。你的需求可以拆解成两个明确的替换规则:

  1. 所有「を」字符后面添加一个空格;
  2. 「テレビ」后面直接跟「つけて」时,中间添加一个空格。

下面是修正后的完整函数:

import re

def teform(txt):
    # 先处理「を」后面加空格的规则
    step1 = re.sub(r'を', r'を ', txt)
    # 再处理「テレビ」后跟「つけて」的规则,匹配连续的子串进行替换
    result = re.sub(r'テレビつけて', r'テレビ つけて', step1)
    return result

# 测试验证
input_txt = "テレビを付けてテレビつけてつけてテレビをオンにして"
print(teform(input_txt))
# 输出:テレビを 付けて テレビ つけて つけて テレビを オンにして

代码解释:

  • 第一步用re.sub把所有的「を」替换成「を 」,快速完成第一个规则的要求;
  • 第二步再用re.sub匹配「テレビつけて」这个连续子串,替换成带空格的版本,满足第二个规则;
  • 两步处理后就能精准得到你想要的结果,后续如果有新的规则,直接添加对应的re.sub语句即可,非常灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:41:59