java - String[].split(String regex) 在使用 String 作为正则表达式时根本不会拆分
问题描述
我正在尝试以我的格式读取一个多项式,它将常量与相同的变量加在一起,为此我需要将常量和变量从“x^”中分离出来,但是当我尝试使用 .split() 方法时根本不拆分,只是将整个字符串放入数组的第一个单元格中。
// Splitting terms into constants and variables:
String splitTerms[][] = new String[terms.size()][2];
for (int i = 0; i < terms.size(); i++) {
String tempTerm = terms.get(i);
if (tempTerm.indexOf("x^") >= 0) {
// Here is where the problem occurs:
splitTerms[i] = tempTerm.split("x^");
}
else if (tempTerm.indexOf("x") >= 0) {
splitTerms[i][0] = tempTerm.substring(0, tempTerm.length()-1);
splitTerms[i][1] = "1";
}
else {
splitTerms[i][0] = tempTerm;
splitTerms[i][1] = "0";
}
}
如果有人知道为什么会发生这种情况或我该怎么做才能解决它,我将非常感谢您的帮助!
解决方案
split()
使用正则表达式,并且^
是一个特殊字符,因此您需要转义^
:
tempTerm.split("x\\^");
“ 2x String
^2”将输出:
[2, 2]
推荐阅读
- javascript - 如何下载响应文件反应?
- windows - 如何使用浏览/文件资源管理器将文件加载到 jupyter 笔记本?
- mongodb - 更新包含数字的架构
- html - 如何在反转它们(wordpress)时在一行中制作两个div?
- reactjs - 我们如何添加标签以响应电话输入 2
- file - Flutter - 如果文件为空,如何在表单数据中发送文件?
- php - 如何在 laravel 中更新文件?
- azure - 在 Azure Kubernetes 服务上部署时出现 Demonset 错误
- python - 如何检查 Python Selenium Chrome headless 是否正常工作?
- ruby-on-rails - 如何将模型属性与帖子中的参数匹配