angularjs - 在 AngularJS 中替换字符串中的字符

标签 angularjs string char ionic-framework

虽然我见过类似的问题,但没有完全回答为什么这不起作用,而且我不知道还有其他选择。

我正在制作一个非常简单的计算器,当从字符串中提取表达式时,我需要用 eval 识别的运算符替换“×”和“÷”等符号。

目前,我正在尝试一次处理一个字符的字符串,并将其复制到一个新字符串中,并在必要时进行替换。似乎没有调用任何检查字符串中字符的 if 语句,我不知道为什么。

for (var i = 0; i < (expressionPre.length) ; i++) {
    alert(expressionPre[i]);
    if (expressionPre[i] == "÷") {
        expressionPost += "/";
    } else if (expressionPre[i] === '×') {
        expressionPost += "*";
        alert("Finally!");
    } else if (expressionPre[i] == "−") {
        expressionPost += "-";
    } else if (expressionPre[i] % 1 == 0) {
        expressionPost += expressionPre[i];
    }
    alert(expressionPost[i]);
}

最佳答案

正如@beaver所说,你应该直接使用replace函数。 这是一个将所有出现的文本替换为另一个文本的函数

	function tools_replaceAll(str, find, replace) {
	   return str.replace(new RegExp(find, 'g'), replace);
	}
	var str  = "(1 ÷ 2 ÷ 2) × 3 × 3 − 4− 4 + 5 + 5";
	str = tools_replaceAll(str, "÷" , "/" ) ;
	str = tools_replaceAll(str, "×" , "*" ) ;
	str = tools_replaceAll(str, "-" , "-" ) ;
	alert(  str ) ;

关于angularjs - 在 AngularJS 中替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35352284/

相关文章:

c++ - 如何将 vector<string> 转换为 vector<char*>

比较 C 中两个设置位置(整数值)之间两个字符串的两个子字符串

javascript - 在使用 angularjs 开发的大型应用程序中使用 .less 文件的最佳方法

java - 如何在 java 中测试一个字符串是否等于数组中的任何其他字符串

angularjs - 如何使具有可选行的表可访问

java - 检查字符串是否为数字

java - 将 protobuf 消息转换为 Java 中的字符串以实现持久性

c - 为什么 C 在读取文件时打印额外的一行?

javascript - Angular 动画 : on click

angularjs - 数据传入时更新 D3 直方图