以下行的影响是什么
somestring.trim().split(/\s*,\s*/);
在javascript中??
我认为它会在之前或之后以任意数量的空格分开。
但据我所知,正则表达式就像
\\s*,\\s*
。我很困惑
答案 0 :(得分:1)
我认为它会在之前或之后以任意数量的空格分开。
这是正确的。它甚至会在逗号前后与 no 空格匹配。
/
之前和之后只是一些正则表达式解析器用作正则表达式分隔符的语法。
在Javascript中,你应该使用split('string')
(撇号)来分割字符串或字符,使用split(/regexp/)
(斜杠)来分割正则表达式。
双反斜杠(\\
)用于转义字符串中的特殊字符,例如'\n'
被解释为单个换行字符,而'\\n'
被解释为反斜杠和" n" ('\n'
)。
在表达式上使用正则表达式分隔符/
时,您不必转义特殊字符,因为解析器知道它是正则表达式。
split(/\s*,\s*/) // No escaping needed with backslash delimiters.
答案 1 :(得分:1)
I thought it would split at comas with any number of spaces before or after to the comas.
以下是示例:
'so me , s t r i n g'.trim().split(",");
我在just trim
使用coma
divide the string into two parts
,但第一个元素contains space at the end
。第二个元素包含space at Begin
。
结果
["so me ", " s t r i n g"]
For Above expression
'so me , s t r i n g'.trim().split(/\s*,\s*/);
我正在使用trim with (/\s*,\s*/)
;这是divide the string into two parts
但no space
starting of second element and ending of first element
。{/ p>
结果是
["so me", "s t r i n g"]