【发布时间】:2021-04-01 19:38:08
【问题描述】:
我有一个打印到控制台的字符串列表。我需要将其转换回带引号的字符串。
假设示例文件如下所示
List(UT_LVL_17_CD, UT_LVL_20_CD, 2018 1Q, 2018 2Q, 2018 3Q, 2018 4Q, 2018 FY)
List(UT_LVL_17_CD,UT_LVL_20_CD,2018 1Q,2018 2Q,018 3Q,2018 4Q,2018 FY)
List( UT_LVL_17_CD, UT_LVL_20_CD,2018 1Q,2018 2Q, 2018 3Q, 2018 4Q, 2018 FY )
对于上述所有 3 种组合,输出应为
List("UT_LVL_17_CD", "UT_LVL_20_CD", "2018 1Q", "2018 2Q", "2018 3Q", "2018 4Q", "2018 FY")
请注意,开始、结束或元素之间的空格是可以接受的。
List( "UT_LVL_17_CD", "UT_LVL_20_CD", "2018 1Q", "2018 2Q", "2018 3Q", "2018 4Q", "2018 FY" )
但不在字符串值内,如下所示
" UT_LVL_17_CD"
"UT_LVL_20_CD ",
应该保留每个元素中已有的空格"2018 4Q"
我正在尝试类似下面的方法,但无法获得正确的结果。
$ perl -pe ' s/(?<=\()|(?=,)|(?=\))/\"/sg ' list.txt
List("UT_LVL_17_CD", UT_LVL_20_CD", 2018 1Q", 2018 2Q", 2018 3Q", 2018 4Q", 2018 FY")
List("UT_LVL_17_CD",UT_LVL_20_CD",2018 1Q",2018 2Q",018 3Q",2018 4Q",2018 FY")
List(" UT_LVL_17_CD", UT_LVL_20_CD",2018 1Q",2018 2Q", 2018 3Q", 2018 4Q", 2018 FY ")
$
【问题讨论】:
-
@JvdV.. 是的,它有效.. 你能把它添加为答案
-
@JvdV.. 这只是一个草稿.. 性能不是问题..