Mr_DouDo
早睡,身体好
采纳率100%
2017-05-15 08:08 阅读 4.0k
已采纳

求助:java 如何将字符串中的多个括号及内容删除

例如:100(…)*50(…)*5(…)解析结果要是100*50*5,括号中间可以是任何字符,求大神指教

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    fight_in_dl 战在春秋 2017-05-15 08:52

    如下:

    可以如下:

     public static void main(String[] args) {
    
            String s = "100(lktet)*50(78*lg)*5(7890rt_)";
            String result = s.replaceAll("\\([^\\(^\\)]*\\)", ""); 
            System.out.println(s);
            System.out.println(result);
    
        }
    

    测试结果如图:

    图片说明

    点赞 2 评论 复制链接分享
  • qiao94831 乔小南丶 2017-05-15 08:15

    "100(…)*50(…)*5(…)".replace(")","").replace("(","");

    点赞 评论 复制链接分享
  • qiao94831 乔小南丶 2017-05-15 08:16

    呃 截取错了 光截括号了

    点赞 评论 复制链接分享
  • vcx08 壹言 2017-05-15 08:35

    如果确定规则就是 删除括号及其里面的内容的话 使用栈对字符串进行处理也可以

    点赞 评论 复制链接分享
  • appqiufh appqiufh 2017-05-15 08:49

    伪代码:

    int left = 0;
    for index in str do
    if index is '(' then
    left++
    elseif index is ')' then
    left--
    elseif left > 0 then
    do nothing
    else
    result += index
    endif

    点赞 评论 复制链接分享
  • theUncle paavochan 2017-05-15 08:53

    String arr = "100(…)*50(…)*5(…)";
    arr = arr.replaceAll("\(.*?\)", "");
    System.out.println(arr);

    点赞 评论 复制链接分享

相关推荐