我在 python 中遇到了一个问题。我有一个包含消息和代码的字符串,我需要将它们分开并将它们传递给不同的函数。一个例子:
text = """
Can you change sum operation to multiplication?
def process(a: int, b: int):
print(a + b)
"""
文本和代码部分可以按任何顺序出现。我尝试使用正则表达式来分隔它们,但对于其他语言却失败了。您对如何在不涉及 LLMS 的情况下处理此问题有什么建议吗?
谢谢!
我搜索了 LLMS 如何区分代码和文本,发现它们使用 Markdown 格式来分隔它们,例如:
"See if anything is wrong with this code:"
```python
def process(a: int, b: int):
print(a - b)
- ```
恐怕我无法遵循这个结构,因为给定的输入或字符串不是这样分类的
需要更多上下文,但这里有一个分离文本和代码的一种方法的简单示例:
text = """
Can you change sum operation to multiplication?
def process(a: int, b: int):
print(a + b)
"""
lines = text.strip().split('/n')
text_lines = []
code_lines = []
#Define where the code starts
code_start = False
for line in lines:
if lines.startswith('def '):
code_start = True
if code_start is True:
code_lines.append(lines)
else:
text_lines.append(lines)
text_only = '\n'.join(text_lines).strip()
code_only = '\n'.join(code_lines).strip()
print(f"Text: \n{text_only}")
print(f"Code: \n{code_only}")
预期输出:
Text:
Can you change sum operation to multiplication?
Code:
def process(a: int, b: int):
print(a + b)