删除带有 unicode 字符的纯文本?

Strike through plain text with unicode characters?

是否可以删除代码注释中 不需要的 修改的词?由于开发人员仍在 黑暗时代 编写更简单的纯文本时间,其中文本无法使用隐藏标识符进行格式化,因此实现此目的的唯一方法是使用 Unicode 字符。

由于一些unicode字符可以扩展为̜̤͉̘̝̙͂̓ͫ̽̊̀y̐ͨͧͩ̚o̥̗̞̬̯͚͂n͔͖̤̜̖̪͒̈ͅd̯̮ͭ它们的指定边界,我认为有可能找到一个创建删除线效果的Unicode字符。

不幸的是破折号字符 — 占据了大量的水平 space。是否有替代字符可用于在我的文本中创建 删除线 效果?

有U+0336,组合长笔画叠加。谷歌搜索 Unicode strikethough 会找到将其应用于您的文本的工具,例如 this one。它看起来是否好取决于您的字体;它在我的环境中看起来很糟糕。

您也可以在 Python 3+ 中使用此函数来即时生成它:

def striken(text):
    return ''.join(chr(822)+t for t in text)

示例输出

>>> def striken(text):
...   return ''.join(chr(822)+t for t in text)
... 
>>> striken("hello")
'̶h̶e̶l̶l̶o
>>> striken("hello darkness my old friend")
'̶h̶e̶l̶l̶o̶ ̶d̶a̶r̶k̶n̶e̶s̶s̶ ̶m̶y̶ ̶o̶l̶d̶ ̶f̶r̶i̶e̶n̶d'

您也可以使用:

def striken(text):
    return '\u0336' + '\u0336'.join(text)

按照@astroMonkey 的建议,如果您的文本很长,速度会更快。

AutoHotkey 脚本中:

<^>!ü::Send {U+0336}

按下

AltGr+ü , y , AltGr+ü , e , AltGr+ü , s

̶y̶e̶s,我可以划线

(抱歉,我选择了德语变音符号作为快捷键,您可能需要其他键)