0

我有一个字符串,我想从中删除Input! + word + digits字符串Calc! + word + digits。我也包括了我的尝试。

输入:IF(输入!B34 + Calc!B45)
输出:输入!B34 计算!B45

我的尝试:

模式 findMyPattern = Pattern.compile("Input!\\w\\d|" + worksheetName+ "!.+?");
        匹配器 foundAMatch = findMyPattern.matcher(input);
        HashSet hashSet = new HashSet();
        而(foundAMatch.find()){
            字符串 s = foundAMatch.group(0);
            hashSet.add(s);
        }

我应该使用什么正则表达式?我尝试使用其中的一些。但我不是他们的专家。一些想法会很有用。

4

1 回答 1

3

您可以使用此正则表达式:

"(?:Input|Calc)![a-zA-Z]\\d+"

解释:

(?:Input|Calc)  // Match `Input or Calc`
 !              // Followed by !
[a-zA-Z]        // Followed by an alphabetical character
\\d+            // Then digits.

并与它一起使用Matcher#find,然后添加matcher.group()到您的Set.

于 2013-02-13T19:37:10.250 回答