• Unicode 字符 s 与自身和“s”匹配。


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 Louise120 2024-03-26 15:11 采纳率: 0% 浏览 1 首页/ 开发工具 / Unicode 字符 s 与自身和“s”匹配。 vim 我只是试图清理包含字符 'ſ' (U+017F) 的旧德语文本。我想用 's' 替换它,但是当我使用 :%s/ſ/s/g 时,不仅该字符被替换,而且所有出现的 's' 后跟任意字符都被替换,就好像我使用了命令 :%s/s./s/g 一样。例如,文本:Die Gleichheit **) fordert das Nachdenken heraus durch Fragen, die ſich daran knüpfen und nicht ganz leicht zu beantworten ſind.将被我的命令替换为:Die Gleichheit **) fordert dasNachdenken herausdurch Fragen, die sich daran knüpfen und nicht ganz leicht zu beantworten sind.我认为这可能与 'ſ' UTF-8 表示为两个字节序列 ( 0xC5 0xBF ) 的事实有关。这不是一个错误吗?如果没有,有没有办法只是替换而不是也? 'ſ' 's'我正在使用 fileencoding=utf-8 和: vim --versionVIM - Vi IMproved 9.1 (2024 Jan 02)Included patches: 1-151echo $LANGde_DE.UTF-8这是一张截 :set hlsearch 图: 更新:我在 Windows 10 上安装了高达 586 的 vim 8.0 版补丁,对我的命令和 %u 命令版本都表现出相同的行为。 展开全部 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • Kwan的解忧杂货铺 Java领域优质创作者 2024-03-26 15:11
      关注

      Louise120 下午好🌅🌅🌅
      本答案参考ChatGPT-3.5

      问题描述: 我想要清理包含字符 'ſ' (U+017F)的旧德语文本,并将其用 's' 替换。但是当我使用 :%s/ſ/s/g 命令时,不仅该字符被替换,还有所有出现的 's' 后跟任意字符都被替换,就好像我使用了命令 :%s/s./s/g 一样。

      可能原因: 这可能是因为 'ſ' 用 UTF-8 表示为两个字节序列(0xC5 0xBF)的原因。

      解决方案:

      1. 使用 \V 模式匹配替换命令,这将禁用正则表达式的特殊意义。可以使用 :%s/\Vſ/s/g 命令替换匹配的字符。
      2. 使用 = 模式匹配替换命令,这将在替换时执行表达式。可以使用 :%s/ſ/=substitute(submatch(0), 'ſ', 's', 'g')/g 命令替换匹配的字符。
      3. 如果你仍然遇到问题,可以尝试使用其他的编辑器或文本处理工具,如Python脚本,来进行字符替换操作。

      示例代码:

      1. 使用 \V 模式匹配替换命令: :%s/\Vſ/s/g

      2. 使用 = 模式匹配替换命令: :%s/ſ/=substitute(submatch(0), 'ſ', 's', 'g')/g

      评论
      编辑
      预览

      报告相同问题?

    • 相关阅读:
      Linux常见指令
      2023年MBA/MPA/MEM联考笔试答题抓分点
      MySQL的主从复制
      Mybatis学习笔记-映射文件,标签,插件
      【MySQL】复合查询
      连续数字阶乘求和
      java 之泛型详解
      第五单元 用python学习微积分(三十四)泰勒级数
      三百内蓝牙耳机哪款好?内行盘点四款三百内最好的蓝牙耳机
      2022 Windows上怎样删除提示无法删除的文件
    • 原文地址:https://ask.csdn.net/questions/8079239