在Javascript中,如何在字符串中查找字符并将其中的所有字符放在变量中

时间:2015-11-03 07:11:23

标签: javascript

在javascript中,我正在尝试创建一个与您可以输入的分数有关的程序,我需要一个函数将这种格式的分数转换为(" 10/27") 10或27取决于用户规格,但我不知道如何编写此功能。任何让我入门的代码或建议都会非常感激。

4 个答案:

答案 0 :(得分:1)

考虑str包含输入值,

a = str.substring(str.indexOf("/")+1);
b = str.substring(0, str.indexOf("/"));

<强>输出: 如果str是"10/17"那么,

a == 17;
b == 10;

答案 1 :(得分:0)

您可以将字符串拆分为split()的数组,然后将第一部分或第二部分作为分子或分母:

function getNumerator(fraction) {
    // fraction = "10/27"
    return fraction.split("/")[0];
}

function getDenominator(fraction) {
    // fraction = "10/27"
    return fraction.split("/")[1];
}

答案 2 :(得分:0)

var fraction = "10/27".split("/");
var numerator = fraction[0];
var denominator = fraction[1];

您当然也可以使用库:https://github.com/ekg/fraction.js

有了这个库,答案就是:

(new Fraction(10, 27)).numerator

答案 3 :(得分:0)

您可以使用indexOf()在字符串中搜索。它返回搜索字符串的第一个位置。

如果要使用其中的字符拆分字符串,请使用split()。它将返回一个数组。所以对于例如:在你的字符串 27/10 中,indexOf / 3 ,但如果你进行拆分,你将获得2个值的数组, 27和10。

function splitString(str, searchStr) {
  return str.split(searchStr);
}

function calculateValue(str) {
  var searchStr = '/';
  var values = splitString(str, searchStr);
  var result = parseInt(values[0]) / parseInt(values[1]);
  notify(str, result);
}

function notify(str, result) {
  console.log(result);
  document.getElementById("lblExpression").innerText = str;
  document.getElementById("lblResult").innerText = result;

}

(function() {
  var str = "27/10";
  calculateValue(str)
})()
Expression:
<p id="lblExpression"></p>
Result:
<p id="lblResult"></p>