我正在使用my_colors.split(“”)方法,但我想分裂或分割字符串的固定数字,例如每个分裂发生在10个字左右......如何在JavaScript中做到这一点?字符串分裂在JavaScript?
回答
试试这个 - 这个正则表达式捕获的十个字(或更少,最后的话)组:
var groups = s.match(/(\S+\s*){1,10}/g);
您可以一次拆分(“”)然后连接(“”)结果数组10个元素。
你可以尝试像
console.log("word1 word2 word3 word4 word5 word6"
.replace(/((?:[^ ]+\s+){2})/g, '$1{special sequence}')
.split(/\s*{special sequence}\s*/));
//prints ["word1 word2", "word3 word4", "word5 word6"]
但是您做的更好或者split(" ")
,然后join(" ")
或写一个简单的标记生成器自己将在你喜欢的任何方式拆分此字符串。
您可能会使用像/\S+/g
这样的正则表达式来拆分字符串,以防单词被多个空格或任何其他空格分隔。
我不确定我的下面的例子是最优雅的方式去它,但它的工作原理。
<html>
<head>
<script type="text/javascript">
var str = "one two three four five six seven eight nine ten "
+ "eleven twelve thirteen fourteen fifteen sixteen "
+ "seventeen eighteen nineteen twenty twenty-one";
var words = str.match(/\S+/g);
var arr = [];
var temp = [];
for(var i=0;i<words.length;i++) {
temp.push(words[i]);
if (i % 10 == 9) {
arr.push(temp.join(" "));
temp = [];
}
}
if (temp.length) {
arr.push(temp.join(" "));
}
// Now you have an array of strings with 10 words (max) in them
alert(" - "+ arr.join("\n - "));
</script>
</head>
<body>
</body>
</html>
切片可以在这里派上用场:http://www.w3schools.com/ jsref/jsref_slice_array.asp – Kobi 2010-02-18 07:08:15
切片上的良好通话。但是,我将不得不打印出我的答案,以便我可以刻录它。你的情况好多了。 – jessegavin 2010-02-18 07:22:22
感谢“jessegavin”,它完全符合我的要求,非常感谢。 – Sheery 2010-02-19 05:40:27
- 1. 分裂的JavaScript字符串
- 2. 地址字符串分裂在JavaScript
- 3. 分裂在VB字符串
- 4. 分裂ArrayList的字符串
- 5. 分裂Java字符串
- 6. 与preg_split分裂字符串
- 7. Android-分裂URL字符串
- 8. javascript新行分裂是在每n个字符分裂
- 9. 分裂在HTML中提取字符串
- 10. 字符串指数分裂在Python
- 11. 分裂在Java算法的字符串
- 12. 分割字符串,请记住分裂
- 13. 分裂阵列分隔成字符串
- 14. 分裂空格分隔字符串
- 15. JAVA - 分裂字符串2定界符
- 16. 分裂逗号在字符串中使用JavaScript
- 17. 行为的JavaScript分裂的,如果用隔板在字符串
- 18. 分割字符串(从C#功能)在断裂的Javascript
- 19. 分裂在JavaScript中的字符串来获取数据
- 20. 劈裂字符串
- 21. 净分裂与分裂字符保留
- 22. 的Javascript分裂后20个字符
- 23. ColdFusion的字符串::分裂()问题
- 24. 的Android分裂的URL字符串
- 25. 模式的分裂字符串
- 26. C#分裂和从字符串
- 27. 为什么字符串不分裂?
- 28. 分裂字符串的想法?
- 29. 分裂()没什么=空字符串
- 30. 爆炸分裂字符串不正确
神圣烟!我感到很尴尬,你的答案比我的多得多!谢谢,如果你不接受这个答案,我会踢一只小狗。 – jessegavin 2010-02-18 07:21:06
我也很喜欢这个...非常... plz不踢一只小狗... – Sheery 2010-02-19 05:46:54
@sheery如果你喜欢这个答案,为什么你不接受它?您应该始终接受您认为最有帮助的答案,以便下一个遇到同样问题的人知道提问者提出的解决方案“最好”或至少被认为是最好的。 – 2010-02-19 14:15:30