繁体   English   中英

如何将字符串拆分为数组

[英]How to split string into an array

这是我的带有值的示例字符串。

示例字符串:-

str = "2014-09-04 21:12:05" "5469687123030383463" "192.168.1.2" "4" "7879" "0" "43" "http://www.google.com" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "404" "123" "F" "21549" "50" "0" "-" "-" "Test1":"T" "Test2":"T" "Test3":"F" "Test4":"T" "Test5":"F" "Test6":"T" "Test7":"F" 

如果我使用空格拆分:-

Use str.split(' ')

结果是:-

["\"2014-09-04", "21:12:05\"", "\"5469687123030383463\"", "\"192.168.1.2\"", "\"4\"", "\"7879\"", "\"0\"", "\"43\"", "\"http://www.google.com\"", "\"Mozilla/5.0", "(X11;", "Linux", "x86_64)", "AppleWebKit/537.36", "(KHTML,", "like", "Gecko)", "Chrome/35.0.1916.153", "Safari/537.36\"", "\"404\"", "\"123\"", "\"F\"", "\"21549\"", "\"50\"", "\"0\"", "\"-\"", "\"-\"", "\"Test1\":\"T\"", "\"Test2\":\"T\"", "\"Test3\":\"F\"", "\"Test4\":\"T\"", "\"Test5\":\"F\"", "\"Test6\":\"T\"", "\"Test7\":\"F\""] 

但我需要如下:

预期结果:-

["\"2014-09-04 21:12:05\"", "\"5469687123030383463\"", "\"192.168.1.2\"", "\"4\"", "\"7879\"", "\"0\"", "\"43\"", "\"http://www.google.com\"", "\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\"", "\"404\"", "\"123\"", "\"F\"", "\"21549\"", "\"50\"", "\"0\"", "\"-\"", "\"-\"", "\"Test1\":\"T\"", "\"Test2\":\"T\"", "\"Test3\":\"F\"", "\"Test4\":\"T\"", "\"Test5\":\"F\"", "\"Test6\":\"T\"", "\"Test7\":\"F\""] 

我该怎么做才能达到预期的结果。

假设您的字符串是:

str = '"2014-09-04 21:12:05" "5469687123030383463" "192.168.1.2" "4" "7879" "0" "43" "http://www.google.com" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36" "404" "123" "F" "21549" "50" "0" "-" "-" "Test1":"T" "Test2":"T" "Test3":"F" "Test4":"T" "Test5":"F" "Test6":"T" "Test7":"F"'

您可以使用正向断言/后向断言的正则表达式来匹配用引号引起来的空间(不捕获引号):

str.split(/(?<=") (?=")/)
#=> ["\"2014-09-04 21:12:05\"",
#    "\"5469687123030383463\"",
#    "\"192.168.1.2\"",
#    "\"4\"",
#    "\"7879\"",
#    "\"0\"",
#    "\"43\"",
#    "\"http://www.google.com\"",
#    "\"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36\"",
#    "\"404\"",
#    "\"123\"",
#    "\"F\"",
#    "\"21549\"",
#    "\"50\"",
#    "\"0\"",
#    "\"-\"",
#    "\"-\"",
#    "\"Test1\":\"T\"",
#    "\"Test2\":\"T\"",
#    "\"Test3\":\"F\"",
#    "\"Test4\":\"T\"",
#    "\"Test5\":\"F\"",
#    "\"Test6\":\"T\"",
#    "\"Test7\":\"F\""]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM