首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串转换为字符串数组

将字符串转换为字符串数组
EN

Stack Overflow用户
提问于 2013-04-30 02:33:55
回答 5查看 217关注 0票数 2

如果我有:

代码语言:javascript
复制
Scanner input = new Scanner(System.in);

System.out.println("Enter an infixed expression:");
String expression = input.nextLine();

String[] tokens;

如何从左到右一次扫描空格周围的中缀表达式,并将其放入字符串数组?在这里,token被定义为操作数、运算符或括号符号。

示例:"3 + (9-2)“==>令牌= 3(-)

EN

回答 5

Stack Overflow用户

发布于 2013-04-30 02:39:25

代码语言:javascript
复制
String test = "13 + (9-2)";

List<String> allMatches = new ArrayList<String>();
Matcher m = Pattern.compile("\\d+|\\(|\\)|\\+|\\*|-|/")
    .matcher(test);
while (m.find()) {
  allMatches.add(m.group());
}

有人能测试一下这个吗?

票数 2
EN

Stack Overflow用户

发布于 2013-04-30 02:37:37

我认为最简单的方法是将行读入一个字符串,然后根据空格进行拆分。有一个很方便的字符串函数split可以帮您完成这项工作。

代码语言:javascript
复制
String[] tokens = input.split("");
票数 0
EN

Stack Overflow用户

发布于 2013-04-30 03:45:51

对于您的示例来说,这可能有点过头了,但是如果它变得更加复杂,请看一下JavaCC,Java Compiler Compiler。JavaCC允许您基于语法定义在Java语言中创建解析器。

请注意,它不是一个容易上手的工具。然而,语法定义将比相应的正则表达式更容易阅读。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16285774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档