2013-05-08 67 views
27

我有一个字符串,我需要在给定索引上分割,然后返回两个部分,用逗号分隔。例如:在给定索引处分割两个字符串并返回两个部分

string: 8211 = 8,211 
     98700 = 98,700 

所以我需要能够分裂在任何给定索引字符串,然后返回一个字符串的两部分。内置的方法似乎执行拆分,但只返回拆分的一部分。

string.slice只返回提取部分字符串。 string.split只允许你人品不是指数分裂 string.substring做什么,我需要,但只返回字符串 非常使用String.substr相似 - 仍然只返回字符串

+2

,你能否告诉预期的输出? – 2013-05-08 13:19:05

+2

'split()'返回一个字符串数组,你毫无疑问知道。请包含似乎不适合您的代码。 – 2013-05-08 13:19:06

+0

这不就是千分之一分隔符吗? – 2013-05-08 13:19:32

回答

52

试试这个

function splitValue(value, index) { 
 
    return value.substring(0, index) + "," + value.substring(index); 
 
} 
 

 
console.log(splitValue("3123124", 2));

1

像这样的事情?......

function stringConverter(varString, varCommaPosition) 
{ 
    var stringArray = varString.split(""); 
    var outputString = ''; 
    for(var i=0;i<stringArray.length;i++) 
    { 
    if(i == varCommaPosition) 
     { 
     outputString = outputString + ','; 
     } 

    outputString = outputString + stringArray[i]; 
    } 

    return outputString; 
} 
20

ES6 1班轮

// :: splitAt = number => Array<any>|string => Array<Array<any>|string> 
 
const splitAt = index => x => [x.slice(0, index), x.slice(index)] 
 

 
console.log(
 
    splitAt(1)('foo'), // ["f", "oo"] 
 
    splitAt(2)([1, 2, 3, 4]) // [[1, 2], [3, 4]] 
 
) 
 

1

你也可以这样做。
https://jsfiddle.net/Devashish2910/8hbosLj3/1/#&togetherjs=iugeGcColp

var str, result; 
str = prompt("Enter Any Number"); 

var valueSplit = function (value, length) { 
    if (length < 7) { 
     var index = length - 3; 
     return str.slice(0, index) + ',' + str.slice(index); 
    } 
    else if (length < 10 && length > 6) { 
     var index1, index2; 
     index1 = length - 6; 
     index2 = length - 3; 
     return str.slice(0,index1) + "," + str.slice(index1,index2) + "," + str.slice(index2); 
    } 
} 

result = valueSplit(str, str.length); 
alert(result);