gpt4 book ai didi

java - 将所有非字母数字更改为 +

转载 作者:行者123 更新时间:2023-12-01 13:04:45 26 4
gpt4 key购买 nike

我现在有点进退两难。

我有一个文本框,用户可以在其中输入地址,然后将其作为网址的一部分发送。

目前,我的解决方案只需要一个词就可以很好地工作 - 比如说“Brighton”。但是,如果用户想要向查询添加更多详细信息 - 例如街道地址,我就会遇到问题。

32 Sydney Street, Brighton, The City of Brighton and Hove BN1 4EP, UK

将其更改为的最佳方法是什么 - 我认为正则表达式可以做到这一点,但我一直在努力解决它们。

32+Sydney+Street+Brighton+The+City+of+Brighton+and+Hove+BN1+4EP+UK

我目前正在做这件事 - 我认为这很困惑,而且,只是不好的编程。如果我为 '++' 添加条件,那就更恶心了

String[] strArray = str.split(" ");
int strSize = strArray.length;

// Puts the split array back together, and add a plus between the words
str = "";
for (int i = 0; i < strSize; i++) {
if (i < (strSize - 1))
str += strArray[i] + "+";
else
str += strArray[i];
}

return str;

我想到的所有方法都存在连续两个++ 的风险(这会使网址无效),或者确实是“恶心”的代码。

感谢您的宝贵时间

最佳答案

奥利,这应该可以:

try {
String resultString = subjectString.replaceAll("(?i)[^a-z0-9]+", "+");
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
} catch (IllegalArgumentException ex) {
// Syntax error in the replacement text (unescaped $ signs?)
} catch (IndexOutOfBoundsException ex) {
// Non-existent backreference used the replacement text
}

关于java - 将所有非字母数字更改为 +,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23350759/

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