JAVA 替换除以 ' 开头的字符串之外的所有内容



我有一个混乱的字符串,例如:

String text= "'xhxyxhzx'xcxz" ";

我想用 empty 替换其他字符串,除了一个以'

开始

类似的东西:

String cleartext = ""; 
if (text.contains("'"))
        cleartext = text.replaceAll("[text.startingWith("'a-z" + "'0-9")]", "");        
         out.println(cleartext);

因此输出为 'h' 'e' 'll' 'o'

注意:我只是发现有可能使用替换方法进行,但是如果还有其他方法可以实现,我不介意。非常感谢!

根据我的说法,我们可以做一件事。希望您不要介意没有代码答案。

  1. 将字符串透过字符'将其分开,然后将其放入字符串数组中。例如字符串" h'e'll'o'"。变成h,e,ll,o,。

  2. 无视所有奇数索引。偶数索引中的字符串将是"字符"内部的字符串。上面的示例是" e,o"

  3. 输出字符串数组甚至索引或在步骤2中创建新数组。

我想您正在寻找这样的东西。

Pattern pattern = Pattern.compile("'[a-z0-9]+'");
private String function(final String input) {
    final Matcher matcher = pattern.matcher(input);
    final StringBuilder sb = new StringBuilder();
    while (matcher.find()) {
        if (sb.length() > 0) {
            sb.append(" ");
        }
        sb.append(matcher.group());
    }
    return sb.toString();
}

但是,我不确定要应用的规则以获得预期的结果。例如:"'''" => "'"

最新更新