我有下面的字符串
str = "11122+3434"
我想把它分成[“11122”,“”,“3434”]。可以有以下分隔符:-、/、*
我尝试了以下方法
strArr = str.split(/[+,-,*,/]/g)
但是我明白
strArr = [11122, 3434]
嗯,一种方法是首先添加空格作为分隔符。
// yes,it will be better to use regex for this too
str = str.replace("+", " + ");
然后分开他们
strArr = str.split(" ");
它将返回您的数组
["11122", "+", "3434"]
这应该有帮助。。。
js lang-js prettyprint-override">str = '11122+3434+12323*56767'
strArr = str.replace(/[+,-,*,/]/g, ' $& ').split(/ /g)
console.log(strArr)
分隔符是分隔数据的东西。所以。split()
方法旨在删除分隔符,因为分隔符不是数据,所以它们根本不重要。
在您的案例中,两个值之间的东西也是数据。所以它不是一个分隔符,而是一个运算符(事实上,这就是数学中所说的)。
为此,您希望解析数据而不是拆分数据。因此,最好的方法是正则表达式:
var result = str.match(/(\d+)([+,-,*,/])(\d+)/);
返回一个数组:
["11122+3434", "11122", "+", "3434"]
因此,您的值将是< code >结果[1] 、< code >结果[2]和< code >结果[3]。
示例: 谢谢你。
问题内容: 我想将字符串“ aaaabbbccccaaddddcfggghhhh”拆分为“ aaaa”,“ bbb”,“ cccc”。“ aa”,“ dddd”,“ c”,“ f”等。 我尝试了这个: 但这会吃掉一个字符,因此使用上面的正则表达式我得到“ aaa”,而我希望它成为“ aaaa”作为第一个字符串。 我该如何实现? 问题答案: 试试这个: 说明:我们想将字符串分成相同字符的组,因此我们
问题 你想拆分一个字符串。 解决方案 使用 JavaScript 字符串的 split() 方法: "foo bar baz".split " " # => [ 'foo', 'bar', 'baz' ] 讨论 String 的这个 split() 方法是标准的 JavaScript 方法。可以用来基于任何分隔符——包括正则表达式来拆分字符串。这个方法还可以接受第二个参数,用于指定返回的子字符串数
我有一个字符串 我想将加法与数字分开,以便我可以将其保留在其他字段中。如何在不丢失数字或加法的情况下拆分此值?最后,我想有 2 个具有以下类型的字段: 关于这个有很多问题,但是我找不到两个值都必须保存的问题。这就是为什么我创建了一个新问题。
我在文件上写了一些样本数据。数据的格式如下- 我必须提取由“[”和“]”分隔的信息。所以我发现- 我不太熟悉字符串拆分。我只知道当字符串仅由一个字符分隔时(例如-string1-string2-string3-…)如何拆分字符串。
本文向大家介绍JavaScript 将字符串拆分为数组,包括了JavaScript 将字符串拆分为数组的使用技巧和注意事项,需要的朋友参考一下 例子 用于.split从字符串到拆分子字符串的数组: 使用数组方法 .join返回字符串: