如何分离Python字符串中的文本和代码?

问题描述 投票:0回答:1

我在 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)
- ```

恐怕我无法遵循这个结构,因为给定的输入或字符串不是这样分类的

python string nlp text-processing python-regex
1个回答
0
投票

需要更多上下文,但这里有一个分离文本和代码的一种方法的简单示例:

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)
© www.soinside.com 2019 - 2024. All rights reserved.