groovy用双单引号替换双引号

时间:2014-06-02 20:01:59

标签: groovy quotes

我有一个字符串"['type':'MultiPolygon', 'coordinates':[[73.31, 37.46], [74.92, 37.24]]]"

如何用双引号替换所有单引号,用单引号替换双? 结果应该是这样的: '["type":"MultiPolygon", "coordinates":[[73.31, 37.46], [74.92, 37.24]]]'

2 个答案:

答案 0 :(得分:4)

从@yate给出的link,你可以找到一个方法:

tr(String sourceSet, String replacementSet)

并将其应用于您的字符串:

def yourString = ...
def changedString = yourString.tr(/"'/,/'"/)

将完成这项工作。

答案 1 :(得分:1)

您想使用replaceAll方法。由于第一次转换将被第二次转换覆盖,因此您可能需要一个临时变量:

String replacePlaceholder = '%%%' // Some unlikely-to-occur value
yourString = yourString.replaceAll('\'', replacePlaceholder)
    .replaceAll('"', '\'')
    .replaceAll(replacePlaceholder, '"')

这当然不是最有效的方法,但这只是一个开始。