我有一个看起来像这样的字符串
svchost.exe 4464 Services 0 47.656 K
Run Code Online (Sandbox Code Playgroud)
请注意,有很多空格,每种情况下的空格量都不同
我想提取名称svchost.exe和pid 4464.我能够做到这一点,但只能采取必要的方式.我很难以功能性的方式来解决这个问题.
用正则表达式解决这个问题是可能的,但我想看看你是如何用函数式编程做这样的事情的.
Tom*_*icz 10
利用String.split()接受正则表达式的事实:
s.split(" +") //Array(svchost.exe, 4464, Services, 0, 47.656, K)
Run Code Online (Sandbox Code Playgroud)
无需后期过滤.
十分简单:
val s = "svchost.exe 4464 Services 0 47.656 K"
s.split(" ").filterNot(str => str == "")
// Array[java.lang.String] = Array(svchost.exe, 4464, Services, 0, 47.656, K)
Run Code Online (Sandbox Code Playgroud)
UPDATE
或s.split(" +")依赖于regexp美的用途
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |