python中有没有类似于REXX PARSE的解析语句

Is there any parse statement in python similar to REXX PARSE

我正在寻找像 REXX PARSE 这样的工具来管理 Phyton 中的字符串。

谁能告诉我是否有 Phyton 的扩展来管理 字符串解析至少类似于 REXX PARSE?

例如:

如何在 python

中解析字符串的位置和长度

谢谢

蔡杰森

简单的回答:不,没有内置的解析等效项,您可以在其中提供用于分解字符串的模板。

有一个程序包 parse pyPI 提供了类似于拆分字符串的模板方法的功能,但模板的使用已经非常接近了。

你绝对可以在python中按位置和长度解析字符串。下面的示例使用切片,通过指定开始和结束位置来模拟位置和长度。

In: line = 'Here is some data in a string of exactly 54 characters'
a,b,c = (line[0:4],line[5:7],line[13:17])
print(f'a is "{a}", b is "{b}", c is "{c}"')

Out: a is "Here", b is "is", c is "data"

rexx 中等效的解析语句为:

****** ********************************* Top of Data **********************************
000001 /* rexx */ 
000002                                                                                 
000003 line = 'Here is some data in a string of exactly 54 characters' 
000004                                                                                 
000005 parse var line a 5 . 6 b 8 . 14 c 18 . 
000006                                                                                 
000007 say "a is '"||a||"', b is '"||b||"', c is '"||c||"'" 
000008                                                                                 
****** ******************************** Bottom of Data ********************************
Output:
a is 'Here', b is 'is', c is 'data'
***

我并不是说这是个好方法,只是 a 方法。学习 python 方法来做 pythonic 事情比用 rexx 思维方式处理它们要好得多。