在groovy中用%20替换空格

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

我将一些变量推送到

httpGet
语句,但它在任何空格上都失败,如何在运行 GET 之前用
%20
替换变量中的空格?


我正在尝试使用

from
 对变量 
def fromFormatted = URLEncoder.encode(from, "UTF-8")

中的“felton, ca”进行编码

当我运行代码时出现错误

groovy.lang.MissingMethodException: No signature of method: static java.net.URLEncoder.encode() is applicable for argument types: (org.codehaus.groovy.grails.web.json.JSONArray, java.lang.String) values: [[felton, ca], UTF-8]

原始输入字段

section("Departing From:"){
    input "from", "text", title: "Address?"

也尝试过

def fromFormatted = from.encodeAsURL()

结果

%5B%22felton%22%2C%22ca%22%5D


显然,由于输入文本包含

,
,因此它会自动将该输入文本视为数组。有什么想法可以防止这种情况发生,或者将其转换为字符串并保留逗号吗?


我使用

def fromStr = from.join(",")

解析了数组

不幸的是

join
创建了一个添加双引号的json字符串

%22felton%22%2C%22ca%22

是否有另一种连接数组的方法可以保留逗号而不添加引号?

grails groovy
1个回答
0
投票

`def originString = vars.get("名称"); // '名称:Arch Incorp' def trimmedValue = 原始字符串 .substring(5, 原始字符串.length()) .replace(" ", "%20"); // 使用替换方法 '

© www.soinside.com 2019 - 2024. All rights reserved.