java - 拆分和解析公式字符串

标签 java string split

我有以下公式

(Trig01:BAO)/(((Trig01:COUNT*86400)-Trig01:UPI-Trig01:SOS)*2000)

我想分割并获取仅在冒号之前的凝视值的输出,

最终输出需要为 -

{ "BAO","COUNT","UPI","SOS" }

提前致谢,

最佳答案

您可以尝试使用 Positive Lookbehind在下面的正则表达式模式中获取冒号后的所有字母数字字符

(?<=:)[^\W]+

Online demo

模式解释:

  (?<=                     look behind to see if there is:
    :                        ':'
  )                        end of look-behind
  [^\W]+                   any character except: non-word characters
                           (all but a-z, A-Z, 0-9, _) (1 or more times)

示例代码:

String str="(Trig01:BAO)/(((Trig01:COUNT*86400)-Trig01:UPI-Trig01:SOS)*2000)";
Pattern p=Pattern.compile("(?<=:)[^\\W]+");
Matcher m=p.matcher(str);
while(m.find()){
    System.out.println(m.group());
}

关于java - 拆分和解析公式字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863738/

相关文章:

c - 如何检查变量是否等于单词

php - 使用php检测引号外的字符

c# - 拆分字符串后如何精确修剪 1 个空格

javascript - 从 .split() 生成的 Google Chrome 困惑数组

java - Android:有什么方法可以识别何时在 edittext 软键盘上按下/松开按键?

PHP 和 字符编码问题

java - java中的大整数输入

java - 使用Java subString格式化以点分隔的字符串 (".")

java - 我的 Android Studio 模拟器无法正常工作

java - key 工具错误 : java. security.KeyStoreException: DER 未找到