当前位置: 首页 > 面试题库 >

在Python中将数学表达式字符串拆分为令牌

姚浩歌
2023-03-14
问题内容

我有很多Python字符串如"A7*4""Z3+8""B6 / 11",和我想要拆分这些字符串,这样他们将在一个列表,格式["A7", "*", "4"]["B6", "/", "11"]等我已经使用了很多不同的方法分割,但我想我需要只需在有数学符号(例如)的地方执行拆分/,*,+,-。我还需要去除空白。

目前,我正在使用re.split(r'(\D)', "B6 / 11")返回的代码['', 'B', '6', ' ', '', '/', '', ' ', '11']。相反,我想回来["B6", "/", "11"]


问题答案:

从字符串中删除空格后,应拆分字符集 [+-/*]

>>> import re
>>> def mysplit(mystr):
...     return re.split("([+-/*])", mystr.replace(" ", ""))
...
>>> mysplit("A7*4")
['A7', '*', '4']
>>> mysplit("Z3+8")
['Z3', '+', '8']
>>> mysplit("B6 / 11")
['B6', '/', '11']
>>>


 类似资料:
  • 问题内容: 如何解析和评估字符串(例如)中的数学表达式而不调用其数值? 在该示例中,我希望函数接受并返回。 问题答案: 我最终选择了该解决方案,该解决方案可用于对正整数和负整数进行求和(对正则表达式进行少许修改也可用于十进制): 我不确定它是否比eval()快,但是由于必须多次执行该操作,因此与创建javascript编译器实例负载相比,运行此脚本要舒服得多

  • 问题内容: 这将返回以下错误: 我知道可以解决此问题,但是难道没有更好,更重要的是更安全的方法来评估存储在字符串中的数学表达式吗? 问题答案: 可用于解析数学表达式。特别是, 显示了如何解析基本算术表达式。下面,我将fourFn重新包装为一个数字解析器类,以便于重用。

  • 问题内容: 我希望我的Python函数拆分一个句子(输入)并将每个单词存储在列表中。我当前的代码拆分了句子,但没有将单词存储为列表。我怎么做? 问题答案: 这应该足以将每个单词存储在列表中。 words已经是句子中单词的列表,因此不需要循环。 其次,这可能是拼写错误,但是你的循环有些混乱。如果你确实确实想使用附加,它将是: 不

  • 问题内容: 我有以下显示这种格式的文件名: 我想提取第二个下划线之后和之前的中间两个时间戳部分。因此,我使用了以下Python正则表达式字符串拆分: 但这在返回的列表中给了我两个额外的空字符串: 如何仅获取两个时间戳信息?即我想要: 问题答案: 不要使用,使用正则表达式/对象的方法。 您甚至可以命名捕获组并在字典中检索它们,尽管您使用的不是。(这种情况下的regex模式将类似于)

  • 问题内容: 我正在尝试找到一种将String拆分为String数组的方法,并且每当遇到白色香料时就需要对其进行拆分,例如 “嗨,我是保罗” 进入” “嗨”“我”“保罗” 如何使用RegularExpression在split()方法中表示空格? 问题答案: 您需要一个正则表达式,例如,这意味着: 每当遇到至少一个空格时就进行拆分 。完整的Java代码是:

  • 问题内容: 使用该模块,似乎无法拆分为空字符串的模式匹配: 换句话说,即使找到匹配项,即使它是空字符串,也无法拆分该字符串。 的文档似乎支持我的结果。 对于这种特殊情况,很容易找到“解决方法”: 但这是一种容易出错的方法,因为这样我就必须提防已经包含要分割的子字符串的字符串: 有没有更好的方法可以拆分与模块的空模式匹配?另外,为什么不允许我首先这样做呢?我知道使用正则表达式的其他拆分算法是可行的。