所以我想知道是否有什么东西拿走了一个字符串,将它拆分成多个delimeter,但它没有返回列表,而是返回了一个字典,其中包含delimeter用来拆分字符串的内容,然后是未拆分的字符串,直到下一个delimeter。例如,考虑这个列表:
Food to make:
1. Cake
a. eggs
b. flour
c. milk
d. etc
2. Salad
a. lettuce
b. spinach
c. cheese
d. ham
e. etc
以下是未格式化的列表:
GroceryList = "1. Cake a. eggs b. flour c. milk d. etc 2. Salad a. lettuce b. spinach c. cheese d. ham e. etc"
当我运行脚本时,我需要将其拆分为字母数字值(和句点),然后将其作为字典返回。理想情况下,我希望能够通过使用列表来设置dilemeters(my_str = "123test123" my_str.split(["1", "3"])
将字符串拆分为值“1”和“3”,返回一个dict{"1#1": "2", "3#1": "test", "1#2": "2", "3#2": ""}
)。我知道任何重复都会在字典中被覆盖,因此必须有一个唯一的ID与之关联,如下所示:
{"#1": "Food to make:",
"1.#1": "Cake",
"a.#1": "eggs",
"b.#1": "flour",
"c.#1": "milk",
"d.#1": "etc",
"2.#2": "Salad",
"a.#2": "lettuce",
"b.#2": "spinach",
"c.#2": "cheese",
"d.#2": "ham",
"e.#2": "etc"}
我不认为会有一个本机函数来实现这一点,但鉴于我对python不太熟悉(我正在运行python 3.8),我想我可以尝试一下这个问题
我已经将映射和lambda函数视为尝试实现这一目标的替代方法,但我甚至不知道从何处着手解决这样的问题,因此,如果有一些本机功能可以完成此任务,那么这将是最好的
谢谢大家!
---编辑--
下面是我将实际处理的示例输入:
M 10 315
L 110 215
A 30 50 0 0 1 162.55 162.45
L 172.55 152.45
A 30 50 -45 0 1 215.1 109.9
L 315 10
用法:
将类另存为文件。。。我叫我的StringSplitter.py
import StringSplitter as SS
ss = SS.StringSplitter("123test123", ["1", "3"])
ss.split()
ss.getSplit()
或ss.toFile()
写入名为“split.txt”的文件返回:
[{'delimiter': '1', 'start': 0, 'end': 1, 'content': '2'}, {'delimiter': '3', 'start': 2, 'end': 3, 'content': 'testing'}, {'delimiter': '1', 'start': 10, 'end': 11, 'content': '2'}, {'delimiter': '3', 'start': 12, 'end': 13, 'content': ''}]
使用模式分隔符+内容重新构造字符串时,将生成:
123testing123
如果有人想要这个,我已经进一步更新了它,但是还没有在这里发布完整的代码。请联系我,我们可以想出一个转移密码的方法。它包括一些其他用于操作字符串的方法
试试这个-
相关问题 更多 >
编程相关推荐