Python检测被空格包围的字符

Python检测被空格包围的字符,python,python-3.x,Python,Python 3.x,有人知道我怎样才能找到中间被空格包围的角色吗 1+1 我希望能够在中间分离 +>代码>,以便在I/EL语句中使用。 抱歉,如果我不太清楚,我是Python初学者。我想您正在寻找类似于split()方法的东西,该方法默认情况下会在空白处拆分 假设我们有一个字符串s s = "1 + 1" chunks = s.split() print(chunks[1]) # Will print '+' 我认为您正在寻找类似于split()方法的东西,该方法默认情况下会在空白处进行分割 假设我们有一个字符串

有人知道我怎样才能找到中间被空格包围的角色吗

1+1

<>我希望能够在中间分离<代码> +>代码>,以便在I/EL语句中使用。


抱歉,如果我不太清楚,我是Python初学者。

我想您正在寻找类似于
split()
方法的东西,该方法默认情况下会在空白处拆分

假设我们有一个字符串
s

s = "1 + 1"
chunks = s.split()
print(chunks[1]) # Will print '+'

我认为您正在寻找类似于
split()
方法的东西,该方法默认情况下会在空白处进行分割

假设我们有一个字符串
s

s = "1 + 1"
chunks = s.split()
print(chunks[1]) # Will print '+'
您可以使用正则表达式:

s="1 + 1"
a=re.compile(r' (?P<sym>.) ')
a.search(s).group('sym')
s=“1+1”
a=重新编译(r'(?P.))
a、 搜索组('sym')
您可以使用正则表达式:

s="1 + 1"
a=re.compile(r' (?P<sym>.) ')
a.search(s).group('sym')
s=“1+1”
a=重新编译(r'(?P.))
a、 搜索组('sym')

如果字符是加号、减号、多号或除号,此正则表达式将检测被空格包围的单个字符:
r'([+-*/])”
。注意撇号内的空格。括号中的“捕获”字符在中间。如果需要识别不同的字符集,请更改括号内的字符集


如果您以前没有处理过正则表达式,请阅读
re
模块。它们对于简单的文本处理非常有用。这里的两个相关特性是“字符类”(我的示例中的方括号)和“捕获括号”(圆括号)。

如果字符是加号或减号或多号或div号,则此正则表达式将检测由空格包围的单个字符:
r'([+-*/])”
。注意撇号内的空格。括号中的“捕获”字符在中间。如果需要识别不同的字符集,请更改括号内的字符集


如果您以前没有处理过正则表达式,请阅读
re
模块。它们对于简单的文本处理非常有用。这里的两个相关功能是“字符类”(我的示例中的方括号)和“捕获圆括号”(圆形括号)。

不知道中心字符之间有多少空格,我会使用以下方法:

s = '1 +   1'
middle = filter(None, s.split())[1]
print middle  # +
split
的工作原理与Zac提供的解决方案相同,但是如果有多个空格,那么返回的列表将有一堆
'
元素,我们可以使用
过滤器(None,)
函数来消除这些元素

然后就是提取第二个元素的问题

请在以下位置查看它的运行情况:

如果我们一步一步地看它,那么下面是如何使用python控制台进行工作的:

>>> s = '1 +   1'

>>> s.split()
['1', '+', '', '', '1']

>>> filter(None, s.split())
['1', '+', '1']

>>> filter(None, s.split())[1]
'+'

由于不知道中心字符之间有多少空格,因此我将使用以下方法:

s = '1 +   1'
middle = filter(None, s.split())[1]
print middle  # +
split
的工作原理与Zac提供的解决方案相同,但是如果有多个空格,那么返回的列表将有一堆
'
元素,我们可以使用
过滤器(None,)
函数来消除这些元素

然后就是提取第二个元素的问题

请在以下位置查看它的运行情况:

如果我们一步一步地看它,那么下面是如何使用python控制台进行工作的:

>>> s = '1 +   1'

>>> s.split()
['1', '+', '', '', '1']

>>> filter(None, s.split())
['1', '+', '1']

>>> filter(None, s.split())[1]
'+'

你的问题不清楚,你需要正则表达式解决方案吗?你的问题不清楚,你需要正则表达式解决方案吗?没问题!您可以使用
len(chunks)
获取您拥有的块数。没问题!您可以使用
len(chunks)
获取您拥有的块数。