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?如果可能存在浮点数,则不适合使用“.”作为分隔符。