Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用string.split(";)Js获取字符串中的第二组空格_Javascript - Fatal编程技术网

Javascript 如何使用string.split(";)Js获取字符串中的第二组空格

Javascript 如何使用string.split(";)Js获取字符串中的第二组空格,javascript,Javascript,我有一个字符串将有至少一个空格,在这种情况下,它更容易使用 string.split(“”)以获取数组中的2个元素。 例: 但是,在某些情况下,我可能有多个空格: 例: 在上述情况下,我仍然希望分离出: "ABC 123" and "JAck 123333" 但是使用string.split(“”)将得到: ["ABC", "123", "JAck", "123333"] 相反,我试图得到两个元素,一个是“ABC 123”和“JAck 123333” 在这种情况下,我不担心“ABC 123”

我有一个字符串将有至少一个空格,在这种情况下,它更容易使用

string.split(“”)以获取数组中的2个元素。
例:

但是,在某些情况下,我可能有多个空格: 例:

在上述情况下,我仍然希望分离出:

"ABC 123" and "JAck 123333"
但是使用
string.split(“”)将得到:

["ABC", "123", "JAck", "123333"]
相反,我试图得到两个元素,一个是“ABC 123”和“JAck 123333”
在这种情况下,我不担心
“ABC 123”和“JAck 123333”之间的空格

可能的情况:

string = "ABC122 JACK333",
string = "ABC 122 JACK333",
string = "ABC 122 JACK 333",
string = "ABC122 JACK 333"
以下是我创作的小提琴:

我试图消除这些空白的原因是因为我想在o/p中获得以下内容

Name: ABC
Id: 32423
Address: Jack
Code: 43453
现在,有效的输入字段值将具有

  • 字母+数字(空格)字母+数字
  • 字母(空格)数字(空格)字母(空格)数字
  • 字母+数字(空格)数字+字母
因此,当用户键入:

string = "something322somethingALL433"
这将是无效字符串,因为第一组字母+数字(即,“something322”和“somethingALL433”)之间没有空格

当用户键入时,当前使用我的代码:
string=“abd32xys6472”
我得到的o/p是:

Name: abdxys
Id: 326472
相反,我试图得到:

Name:abd
Id:32
Address:xys
Code:6472

希望这有意义

使用正则表达式匹配字母序列和数字序列,并在它们之间添加可选空格

函数获取字符串(str){
var m=str.match(/([a-z]+\s*\d+)\s+([a-z]+\s*\d++\d+\s*[a-z]+)/i);
返回m&m.slice(1);
}
日志(获取字符串(“ABC122 JACK333”))
日志(获取字符串(“ABC 122 JACK333”))
日志(获取字符串(“ABC 122杰克333”))
日志(获取字符串(“ABC122插孔333”))

console.log(get_strings(“test444 444test”)
我不完全确定这里需要的逻辑是什么-如果输入是
foo-bar-baz
,或者用4个空格而不是3个空格,等等怎么办?那么foo和bar将在一起,baz将作为下一个元素,即:[“foobar”,“baz”],因此听起来您不仅想要匹配字符串的特定部分,您还想替换某些匹配部分中的空格(但不是其他部分)?是的,这听起来像是第三种不同的处理方式。你能给我们概括一下所有的案例吗,包括
'foo bar baz qux corg'
'a b c d e f g h i'
?谢谢@barmar,工作得很有魅力,很快,还有一个场景,它可能是
str=“test444 444test”
,如我的示例中所述。有没有办法更改正则表达式以匹配该场景?我们已经更新了答案,使用了两个捕获组。第一组匹配
字母+数字
,第二组匹配
字母+数字
数字+字母
Name: abdxys
Id: 326472
Name:abd
Id:32
Address:xys
Code:6472