具有不可见字符的新行不会换行吗?
Posted
技术标签:
【中文标题】具有不可见字符的新行不会换行吗?【英文标题】:New line with invisible character not makes a line break? 【发布时间】:2021-03-17 22:57:36 【问题描述】:我有一个这样显示的字符串:
def function():
my_string = """Balabala
-
Blala2: lala
-
Blala#End
"""
所有空行都有那个不可见的字符(字符:⠀)。
当我打印那个字符串时,我得到:
Balabala
-Blala2: lala
-Blala#End
-
是一个隐形字符。 *** 不允许那个不可见的字符。
python 应该打印什么:
Balabala
-
Balala2: lala
-
Blala#End
有人对我有什么建议或解决方案吗?
编辑:我使用该字符串作为 Instagram 图片描述。 Instagram 不允许没有字符的换行符。由于这个限制,我搜索了一个隐形字符。现在我想在我的字符串中实现那个不可见的字符。
【问题讨论】:
您的隐形字符似乎是“盲文图案空白”,如果它确实是您复制粘贴的内容。如果要删除它,可以将其替换为空字符串:my_string = my_string.replace('⠀', '')
我无法替换或删除它。因为我需要那种模式。
@Manuservus 我在我的程序中测试了隐形字符;它有效。
那么您的问题到底是什么?如果您不想删除它,并且无论如何都看不到它打印,那么您的问题是什么?请澄清...
如果您的字符串包含您想要的字符,并且没有按预期打印,则问题出在您的终端上。下一个问题是,这对您的用例重要吗?
【参考方案1】:
您可以使用列表推导过滤掉不可见的字符:
my_string = """Balabala
Blala2: lala
Blala#End
"""
my_string = ''.join(char for char in my_string if char.isascii())
print(my_string)
输出:
Balabala
Blala2: lala
Blala#End
【讨论】:
我需要那个隐形角色。我无法过滤掉它。 @Manuservus 那该怎么办呢? 我想我没有很好地澄清这个问题。我编辑了这个问题,现在更好理解了。以上是关于具有不可见字符的新行不会换行吗?的主要内容,如果未能解决你的问题,请参考以下文章
PHP / JS;将不可见的换行符或换行符转换为html标记以进行打印