在Java中删除字符串中的括号

1,292 阅读4分钟

Java使用Strings数据结构来存储文本数据。本文讨论了在Java中从字符串中删除小括号的方法。

Java Strings

Java Strings是一个在连续的内存位置存储文本数据的类。字符串类与其他接口一起实现了CharSequence 接口。

字符串是一个恒定的数据结构,因此它们的值一旦创建就不能被改变。

然而,在该类中实现了一些方法,使Java字符串的工作更容易、更健全。

在Java中,有两种方法可以去除字符串中的括号。

  • 你可以遍历整个字符串,并将括号以外的字符追加到新的字符串中。
  • 你可以使用String类的replaceAll() 方法来删除所有出现的括号。

让我们分别看一下它们的情况。

使用replaceAll()方法删除字符串中的括号

然而,另一种从Java字符串中删除括号的方法是调用replaceAll() 方法。

replaceAll() 方法是字符串类的一个方法。你可以在String类的一个实例上调用该方法。

让我们看看该方法的定义。

public String replaceAll(String regex,
                String replacement)
  • 该方法接受两个参数。
    • 字符串regex。这个参数是一个正则表达式。你应向该方法输入一个正则表达式。该方法检查原始字符串中传递的正则表达式。
    • 正则表达式是一组代表文本中模式的字符。
    • 字符串替换。这个参数表示将被插入匹配模式的位置的字符串。

例如,我们假设你有一个字符串"{a}[b(c)d]"。为了替换小括号,你应该传递一个正则表达式("[\[\](){}]")和空字符串 "替换"。

这将用一个空字符串替换所有的括号。实质上,小括号将被删除。

你可以在这里阅读更多关于regex的信息。

注意,replaceAll() 方法返回一个字符串。因此,你必须将返回的字符串重新分配给原始字符串,以反映原始字符串的变化。

让我们看看这段代码。

package java2blog;

public class parRemove 
{
    public static void main(String [] args)
    {
        String str = "{a}[b(c)d]";
        str = str.replaceAll("[\\[\\](){}]", "");
        System.out.println("New string is: "+str);
    }
}

输出。

新的字符串是:abcd

进一步阅读。

在Java中删除字符串中的逗号

阅读更多 →

如何在Java中删除字符串中的所有空格

阅读更多 →

通过遍历从一个字符串中删除括号

使用这种方法去除括号的想法很简单。你可以使用一个循环来遍历字符串,并且只挑选那些不是括号的字符。

你可以按照下面的步骤来执行上述的任务。

  • 取一个临时的空字符串。
  • 使用循环遍历该字符串。
  • 使用索引从字符串中一个一个地提取字符。
  • 使用比较运算符(==)检查当前字符是否为小括号。
    • 如果是,就简单地忽略该字符。
    • 否则,将该字符追加到一个临时字符串中。
  • 循环完成后,将临时字符串复制到原始字符串中。

注意,你不能直接使用方括号内的索引从Java字符串中获取字符。为此,你需要通过传递索引来调用charAt() 方法。

下面给出了charAt() 方法的定义。

public char charAt(int index)

该方法返回相应索引处的字符。

为了追加字符,你可以直接使用连接运算符(+)。

让我们看看这个代码。

package java2blog;

public class parRemove 
{
    public static void main(String \[\] args)
    {
        String str = "{a}\[b(c)d\]";
        String temp="";
        for(int i=0;i)
    }
}

注意,你需要在连接后将字符串重新分配给自己,因为Java字符串是不可变的,你不能在原地进行更改。

另外,注意length() 方法。它返回字符串中的字符数。

输出

新的字符串是:abcd

结论

replaceAll() 方法来删除小括号的出现是比较稳健的,而且在复杂程度上也比较简单。

以上就是关于在Java中删除字符串中的小括号的全部内容。

希望你喜欢阅读这篇文章。请继续关注更多此类文章。学习愉快!