首页 > 解决方案 > 如何将 1 个变量中包含的多个字符串组合成 1 个字符串

问题描述

我采取了一种非常复杂的方法来做到这一点,我真的很困惑,但我走了!

好的,所以我基本上把结果当作一个普通的字典,它是result = j_result['result']j_result 是包含下图中所有信息的变量。

然后使用该即时消息跳过标题并使用此脚本简单地提取结果中的所有内容

def extract_values(obj, key):
            arr = []
            def extract(obj, arr, key):
                if isinstance(obj, dict):
                    for k, v in obj.items():
                        if isinstance(v, (dict, list)):
                            extract(v, arr, key)
                        elif k == key:
                            arr.append(v)
                elif isinstance(obj, list):
                    for item in obj:
                        extract(item, arr, key)
                return arr

            results = extract(obj, arr, key)
            return results
        def listToString(s):

当我终于有了一个很好的字符串来解析所有我留下的漂亮字符串时,我用这个值替换了所有奇怪的字符,例如 [、]、' 等,但它们中的大多数都包含一个字符 | 分隔日文和英文名,我用这个脚本删除了之前的所有内容,然后离开英文

o_string = oe_string.replace(",", "\n")  
for l in o_string.split('\n'):
   thingy1 = l.split('|')[-1] + "\n"
   print(repr(thingy1))

但是当我这样做时,它会打印多个通过thingy1

示例:来自上述脚本中 print 函数的输出

'string 1'
'string 2'
'string 3'

我想将所有这些字符串组合成 1 个字符串,并用 \n 分隔新行。

因此,在要点上,我想要的不是 3 行,而是如下所示:

string 1\nstring 2\nstring 3\n

等等...

对不起,如果这不是表达这个等的正确方法,或者为此目的。但我真的很迷茫,任何事情都有帮助。

https://media.discordapp.net/attachments/696842088431485069/701708282162708480/unknown.png?width=720&height=42

标签: pythonjsonstring

解决方案


因此,您有一个字符串列表,并希望将它们组合成一个字符串,并\n在它们之间使用分隔符 ()?

.join就是为了!

l = ['string 1', 'string 2', 'string 3']
joined = '\n'.join(l)
# now joined is 'string 1\nstring 2\nstring 3'

推荐阅读