我想用以下符号分割我的字符串:+、-、*、/ 但 .split 函数只接受一个
Posted
技术标签:
【中文标题】我想用以下符号分割我的字符串:+、-、*、/ 但 .split 函数只接受一个【英文标题】:I want to split my string with the following symbols: +, -, *, / but .split function only accepts one 【发布时间】:2014-02-25 20:27:53 【问题描述】:目前,这是我的代码:
public void setEquals(View v)
EditText txtDisplay = (EditText) findViewById(R.id.txtDisplay);
display = txtDisplay.getText().toString();
String[] strArrDisplay = display.split("\\+");
txtDisplay.setText(String.valueOf(strArrDisplay[0]));
我当前的代码只能成功拆分加号(+)。如果有加号、减号、乘号或除号,我希望拆分字符串。
假设输入为:123+5-2 所以期望的输出应该是:
strArrDisplay[0] = "123"
strArrDisplay[1] = "5"
strArrDisplay[2] = "2"
【问题讨论】:
什么语言?标记它。同时修复缩进 我是***的新手,所以我很抱歉。编程语言是 Java,因为我正在开发一个 android 应用程序。 您的意思是要拆分这些字符中的任何一个还是全部?请显示输入和输出示例。 @user3262417 - 没关系。也许获得一个真实的用户名也会有所帮助。但是你会得到 +1 来帮助你开始 【参考方案1】:您可以使用StringTokenizer
来拆分您的字符串。
StringTokenizer tokens = new StringTokenizer("123+766-12", "-+*/");
while (tokens.hasMoreTokens())
Log.d("test", tokens.nextToken());
【讨论】:
【参考方案2】:String.split 需要一个正则表达式来拆分,所以你可以简单地:
String[] array = myString.split("\\+|\\-|\\*|\\/");
请给我一些反馈
希望有所帮助。
【讨论】:
在点和破折号上分开。那对OP有什么用?您是从其他问题中复制并粘贴的吗? @Simon 我只写了一个例子,现在更新了我的答案,就像他想要的那样:) 好的,反对票被推翻。一个更简洁的解决方案可能是split(Pattern.quote("+-/*"))
感谢 Amrola!我是这种语言的新手,而且我在字符串操作方面并不是很擅长。 :)
在 *** 上要求投票被认为是不良行为。接受表示正确的、被接受的解决方案。赞成票用于添加额外内容的答案。这是一个如此简单的问答,是什么让您相信您的回答比提供问题的解决方案更有价值?以上是关于我想用以下符号分割我的字符串:+、-、*、/ 但 .split 函数只接受一个的主要内容,如果未能解决你的问题,请参考以下文章