gpt4 book ai didi

regex - 内联打印列表元素

转载 作者:行者123 更新时间:2023-12-03 02:50:16 24 4
gpt4 key购买 nike

假设我有一个list = [4, 1, 8, 3],我想在同一行中打印list的所有元素,例如:

4 1 8 3
我在regexr.com上检查了此正则表达式 ^\[|,|\],它选择了除元素之外的所有内容。所以我期待
print(list.toString().replaceAll('^\[|,|\]', ''));
匹配上面的输出,但输出:
[4, 1, 8, 3]
如何实现所需的输出?
请注意,我不能在输出周围留空格,因此这样的操作将不起作用:
list.forEach((element) => stdout.write('$element '));
编辑:我有它可以使用
  print(list
.toString()
.replaceAll(',', '')
.replaceAll('[', '')
.replaceAll(']', ''));
这是可以做到的最好的吗?

最佳答案

注意:如果只需要将整数列表“转换”为以空格分隔的数字字符串,则只需要使用list.join(" ")即可。 我了解您只是练习正则表达式,因此下面是我的正则表达式答案。
您需要将RegExp编译对象传递给.replaceAll才能实际使用正则表达式。另外,您需要使用原始字符串文字,否则您必须将反斜杠加倍。
您可以使用

print(list.toString().replaceAll(new RegExp(r'^\[|,|\]'), ''));
输出: 4 1 8 3
请注意,您的正则表达式等于 ^\[|[,\]],它与字符串开头的 [匹配,或者等于字符串内任意位置的逗号或 ]。您可能只想在字符串 ]的末尾匹配 ^\[|,|]$

关于regex - 内联打印列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63887180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com