Javascript 有效地获取字符串?
我想从字符串中取两个值Javascript 有效地获取字符串?,javascript,jquery,Javascript,Jquery,我想从字符串中取两个值 “105.106” 值105和106可以不同,点(.)将在拆分后决定拆分。我希望这些值为变量。我已经研究了indexOf和split方法,但没有得到逻辑。非常简单: var str = "105.106"; var values = str.split('.'); // (or "." or /\./) console.log(values[0]); // Output: 105 console.log(values[1]); // Out
“105.106”
值105和106可以不同,点(.)将在拆分后决定拆分。我希望这些值为变量。我已经研究了indexOf和split方法,但没有得到逻辑。非常简单:
var str = "105.106";
var values = str.split('.'); // (or "." or /\./)
console.log(values[0]); // Output: 105
console.log(values[1]); // Output: 106
您可以执行以下操作:
var str = "105.106";
// does the string contain floating point dot ?
if (str.indexOf('.') >= 0) {
var values = str.split('.');
alert(values[0]); // value before dot
alert(values[1]); // value after dot
}
else {
alert(str); // string did not contain a dot/point
}
上面的代码将为您提供点/点之前和之后的两个值,以防它包含点,否则它将按原样提供字符串。JavaScript string.split(delimiter)方法可以满足您的需要。像这样使用它:
var s = "105.106";
var values = s.split(".");
// values[0] = "105", values[1] = "106".
您可以了解有关
split
工作原理的更多信息。简而言之,split
是字符串
原型上的一种方法,您可以将充当分隔符的字符传递给它,并根据该字符标记字符串。例如,如果您有“123456789”
,并且希望将字符串标记为,
是分隔符,那么您将得到“123”
,“456”
和“789”
现在,您的字符串是“105.106”
,您希望
充当分隔符,因此您可以编写类似以下内容的内容:
tokens = "105.106".split(".");
tokens[0] == "105"; // true
tokens[1] == "106"; // true
如您所见,
split
已将字符串分解为一个包含两个组件的数组,其中包含由
字符拆分的字符串。我没有对其进行测试,但猜测这可能会起作用
var str="xxx.xxxxx";
dot=str.lastIndexOf('.');
num2=str.substring(dot+1);
num1=str.substring(0,dot);
定义“不获取逻辑”。你有什么不明白的?这是不正确的将匹配每个字符,使其在任何字符上都可以拆分。使用
“
,而不是/./
——后者将在每个字符上匹配并拆分。正则表达式由/
分隔,而不是“
。如果您指的是打字错误,我会在发布后几秒钟内修复它…挑剔,但这是字符串
原型的一种方法。此1也适用于浮点数,如“23.45.234”“将分别显示23.45和234我不确定是否适合这种情况,您怎么知道“23.45.234”是指23.45和234,还是23和45.234?如果可能存在浮点数,则不适合使用“.”作为分隔符。