如何将字符串分别转化为数字和运算符号
时间: 2024-09-23 12:07:15 浏览: 36
将字符串转化为数字和运算符号通常涉及到两个步骤:识别和转换。
1. **识别**:
- **数字**:你可以使用正则表达式来找出所有的数字部分。例如,在Java中,可以这样做:
```java
String input = "12 + 34 * 56";
Pattern numberPattern = Pattern.compile("\\d+");
Matcher matcher = numberPattern.matcher(input);
List<String> numbers = new ArrayList<>();
while (matcher.find()) {
numbers.add(matcher.group());
}
```
- **运算符号**:同样可以使用正则表达式查找运算符,如"+"、"-"、"*"、"/"等:
```java
String[] operators = input.split("[\\s\\+\\-\\*\\/]", -1); // 分割符包括空格和各种运算符
List<String> operatorList = Arrays.stream(operators)
.filter(str -> !str.isEmpty() && !"(".equals(str) && !")".equals(str))
.collect(Collectors.toList());
```
2. **转换**:
- 对于数字,可以直接转换为对应的数值类型,如Integer、Double或Long,取决于数字的范围和精度需求:
```java
int[] numbersAsInt = numbers.stream()
.mapToInt(Integer::parseInt)
.toArray();
double[] numbersAsDouble = numbers.stream()
.mapToDouble(Double::parseDouble)
.toArray();
```
- 运算符号保持不变,因为它们本身就是字符串形式:
每个元素都变成了相应的数字或运算符列表,可以根据需要进一步处理。
阅读全文