从复制的文本中剥离除可见字符外的所有字符(不可见的控制字符会损坏代码)



我从kindle书中复制了一些代码,用于粘贴到Jupyter笔记本中。Python在尝试运行代码时报告错误。就上下文而言,我正在VSCode中运行笔记本,但这本身并不是问题所在。我用来方便复制的chrome扩展在这里

以下是我在编辑器中看到的从kindle电子书粘贴文本到笔记本的例子:

housing["income_cat"] = pd.cut(housing["median_income"], bins=[0., 1.5, 3.0, 4.5, 6., np.inf], labels=[1, 2, 3, 4, 5]) 
housing["income_cat"].hist()

Jupyter笔记本报告SyntaxError: invalid character in identifier

当我在Notepad++中检查编码时,我看到编码报告为UTF-8。

如果我转换为UTF8并以ANSI查看,我会看到字符串:

housing["income_cat"] = pd.cut(housing["median_income"], bins=[0., 1.5, 3.0, 4.5, 6., np.inf], labels=[1, 2, 3, 4, 5]) housing["income_cat"].hist()

如果我转换为ANSI并以UTF8的形式查看,我会看到符号xA0 被替换

因此,似乎有一个控制字符与文本一起被复制。

有没有一种工具我可以粘贴到其中,或者我可以使用记事本++来去除除可见空白和文本之外的所有内容?

更新

我需要应用以下分辨率,我做了一个VSCode扩展来替换非打印(NPC(控制字符:

https://github.com/appsoftwareltd/no-control

希望它能有所帮助!


根据本网站的字符为

Character: Â    
ANSI Number: 194    
Unicode Number: 194 
ANSI Hex: 0xC2  
Unicode Hex: U+00C2 
HTML 4.0 Entity: Â    
Unicode Name: Latin capital letter A with circumflex    
Unicode Range: Latin-1 Supplement

解决方案是将[^x00-x7f]的正则表达式匹配项替换为空白字符。

如下所示:

https://weblogs.asp.net/kon/finding-those-pesky-unicode-characters-in-visual-studio

最新更新