Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何删除字母之间的所有空格?_Python_Regex_Python 3.x - Fatal编程技术网

Python 如何删除字母之间的所有空格?

Python 如何删除字母之间的所有空格?,python,regex,python-3.x,Python,Regex,Python 3.x,我的文本中有这样的词:a n a l I z e,c l a s等等,但也有正常的词。我需要删除单词字母之间的所有空格 reg_let=re.compile('\s[А-Яа-аa-zA-Z](\s'),re.DOTALL) text='this正是我所需要的 text=re.sub(reg_let',text) 文本 输出: “Tiis exactlyhtneeded”(虽然我需要-“这正是我所需要的)据我所知,没有简单的方法可以做到这一点,因为你最大的问题是区分有意义的单词,换句话说,你需

我的文本中有这样的词:a n a l I z e,c l a s等等,但也有正常的词。我需要删除单词字母之间的所有空格

reg_let=re.compile('\s[А-Яа-аa-zA-Z](\s'),re.DOTALL)
text='this正是我所需要的
text=re.sub(reg_let',text)
文本
输出
“Tiis exactlyhtneeded”(虽然我需要-“这正是我所需要的)

据我所知,没有简单的方法可以做到这一点,因为你最大的问题是区分有意义的单词,换句话说,你需要一些语义引擎来告诉你哪个单词对句子有意义

我唯一能想到的是一个单词嵌入模型,没有任何类似的东西,你可以清除任意多的空格,但你不能区分单词,这意味着你永远不知道哪些空格不能删除


如果有一个我不知道的更简单的方法,我希望有人能帮我解决问题。

据我所知,没有简单的方法可以做到这一点,因为你最大的问题是区分有意义的单词,换句话说,你需要一些语义引擎来告诉你哪个单词对句子有意义

我唯一能想到的是一个单词嵌入模型,没有任何类似的东西,你可以清除任意多的空格,但你不能区分单词,这意味着你永远不知道哪些空格不能删除


如果有一个我不知道的更简单的方法,我希望有人能帮我解决这个问题。

这个问题没有简单的解决办法

我能想到的唯一解决办法是用字典检查单词是否正确(出现在英语字典中)

但即使这样做,你也会得到很多误报。例如,如果我得到文本:

a n n a s

文字:

  • a
  • 一个
  • 作为
这本英语词典上的所有单词都是正确的。如何拆分文本?对我来说,作为一个能够阅读文本的人,很明显这里的单词是ananas。但可以将文本拆分为:

作为

这在语法上是正确的,但在英语中没有意义。正确性由上下文给出。一、 作为人类,我能理解上下文。人们可以用不同的方式拆分、合并字符串,以检查它是否有意义。但不幸的是,没有库或简单的过程可以理解上下文


机器学习可能是一种方法,但没有完美的解决方案。

这个问题没有简单的解决方案

我能想到的唯一解决办法是用字典检查单词是否正确(出现在英语字典中)

但即使这样做,你也会得到很多误报。例如,如果我得到文本:

a n n a s

文字:

  • a
  • 一个
  • 作为
这本英语词典上的所有单词都是正确的。如何拆分文本?对我来说,作为一个能够阅读文本的人,很明显这里的单词是ananas。但可以将文本拆分为:

作为

这在语法上是正确的,但在英语中没有意义。正确性由上下文给出。一、 作为人类,我能理解上下文。人们可以用不同的方式拆分、合并字符串,以检查它是否有意义。但不幸的是,没有库或简单的过程可以理解上下文


机器学习可能是一种方法,但没有完美的解决方案。

不是答案,但带空格的单词看起来像是过程中某个地方出现编码错误的结果,例如从UTF-8返回ASCII。我想不出一个简单的方法来完成你在这里提出的建议。Wy不应该是
吗?这是完全必要的
?问题的标题是“如何删除字母之间的所有空格?”但从你的输出来看,你不被允许删除字母之间的所有空格。我甚至不知道这是否可能。假设输入是
I w a n t o e a a n d w I c h
-您的脚本如何知道
sandwich
是一个单词而
asandwich
不是?或者是oeatasa
?我认为你可能必须硬编码有问题的单词,例如,CLAS
->
class
。否则逻辑会变得非常疯狂。最好添加更多具有预期输出的示例。不是答案,但带空格的单词看起来像是过程中某个地方发生的编码错误的结果,例如从UTF-8返回ASCII。我想不出一个简单的方法来完成你在这里提出的建议。Wy不应该是
吗?这是完全必要的
?问题的标题是“如何删除字母之间的所有空格?”但从你的输出来看,你不被允许删除字母之间的所有空格。我甚至不知道这是否可能。假设输入是
I w a n t o e a a n d w I c h
-您的脚本如何知道
sandwich
是一个单词而
asandwich
不是?或者是oeatasa
?我认为你可能必须硬编码有问题的单词,例如,CLAS
->
class
。否则逻辑会变得非常疯狂。最好添加更多具有预期输出的示例。你是对的。OP可能会使用
\b
来检测单词边界,但是没有(regex)方法来区分单词“I”和单个字母(没有单词)。你是对的。OP可能会使用
\b
来检测单词边界,但没有(regex)方法来区分单词“I”和单个字母(无单词)