繁体   English   中英

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

[英]In Javascript, how to find a character in a string and put all the characters before it in a variable

在javascript中,我正在尝试制作一个与您可以输入的分数有关的程序,并且我需要一个函数,该函数将根据用户规范将此格式(“ 10/27”)的分数转换为10或27,但是我不知道如何编写此函数。 任何使我入门的代码或建议将不胜感激。

考虑到str包含输入值,

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

输出:如果str为"10/17"

a == 17;
b == 10;

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

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

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

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

使用此库,答案将是:

(new Fraction(10, 27)).numerator

您可以使用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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM