有效地获得字符串?

时间:2011-10-21 11:33:57

标签: javascript jquery

我想从字符串
中取两个值 “105.106”

值105和106可以是不同的,点(。)将决定它们在分割之后的分裂我希望这些值在变量中。我把它看作indexOf和split方法,但没有得到逻辑。

5 个答案:

答案 0 :(得分:3)

这很简单:

var str    = "105.106";
var values = str.split('.');  // (or "." or /\./)
console.log(values[0]);       // Output: 105
console.log(values[1]);       // Output: 106

Live demo.

答案 1 :(得分:3)

您可以详细了解split的工作原理here。简而言之,splitString原型上的一种方法,您可以将其作为分隔符传递给它,并根据该字符对字符串进行标记。例如,如果您有"123,456,789"并且想要将字符串标记为,是分隔符,那么您将获得"123""456"和{{1} }。

现在你的字符串是"789",你希望"105.106"充当分隔符,因此你写了类似的东西:

.

如您所见,tokens = "105.106".split("."); tokens[0] == "105"; // true tokens[1] == "106"; // true 已将字符串分解为包含两个组件的数组,其中包含由split字符分割的字符串。

答案 2 :(得分:2)

你可以这样做:

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
}

上面的代码会在dot / point 之前和之后给出两个值,如果它包含一个点,它会给你一个字符串。

答案 3 :(得分:0)

JavaScript String.split(delimiter)方法可以满足您的需求。像这样使用它:

var s = "105.106";
var values = s.split(".");
// values[0] = "105", values[1] = "106".

答案 4 :(得分:0)

我没有对它进行过测试,但我猜这可能有用

var str="xxx.xxxxx";
dot=str.lastIndexOf('.');
num2=str.substring(dot+1);
num1=str.substring(0,dot);