該字串以人類可讀的類似表格的方式構造。它包含三列。但是,我需要的唯一資訊是第一列中所有值的串列。
app115 115.115 winget
app225 115.115Chrome winget
Knotes 1MHz.Knotes winget
BPMN-RPA Studio 1ic.BPMN-RPAstudio winget
Fishing Funds 1zilc.FishingFunds winget
3601 360.360Chrome winget
3602 360.360Chrome.X winget
3603 360.360CleanMaster winget
3604 360.360se winget
3CX Call Flow Designer (.exe edition) 3CX.3CXCallFlowDesigner winget
使用 javascript,我將如何決議這個字串以獲得類似的結果:
['app115', 'app225', 'Knotes', 'BPMN-RPA Studio', 'Fishing Funds', '360', '360', '360', '360', '3CX Call Flow Designer (.exe edition)']
以下是我無法開始作業的一些想法:
第 1 步,由于不需要后兩列,我們可以先用空白文本替換“winget”,string1.replaceAll("winget", "")這會洗掉整個左列,因為該列中的所有值是“翼翼”。
步驟 2,洗掉所有出現的多個字符,這些字符在每側被 2 個或更多空格包圍。這應該擺脫整個第二列,因為每個值的每側至少有兩個空格。--不起作用,因為如果第一列中的值太長,則第二列中的值旁邊可能只有一個空格。檢查原始字串的最后一行。
最后一步,一旦字串現在看起來像:"app115 app225 Knotes BPMN-RPA Studio Fishing Funds...",使用string.split(" ")
希望我的問題有意義。謝謝你的幫助
uj5u.com熱心網友回復:
這個對我有用
假設任何型別的空格,包括列之間的制表符
\s \w \. 是帶句號的字串之前的前導空格
const lines = table.split(/\r?\n/)
const column1 = lines.map(line => line.split(/\s \w \./)[0])
console.log(column1)
<script>
const table = `app115 115.115 winget
app225 115.115Chrome winget
Knotes 1MHz.Knotes winget
BPMN-RPA Studio 1ic.BPMN-RPAstudio winget
Fishing Funds 1zilc.FishingFunds winget
3601 360.360Chrome winget
3602 360.360Chrome.X winget
3603 360.360CleanMaster winget
3604 360.360se winget
3CX Call Flow Designer (.exe edition) 3CX.3CXCallFlowDesigner winget`
</script>
如果 column1 的長度始終為 38 個字符,則
const lines = table.split(/\r?\n/)
const column1 = lines.map(line => line.slice(0,38).trim())
console.log(column1)
<script>
const table = `app115 115.115 winget
app225 115.115Chrome winget
Knotes 1MHz.Knotes winget
BPMN-RPA Studio 1ic.BPMN-RPAstudio winget
Fishing Funds 1zilc.FishingFunds winget
3601 360.360Chrome winget
3602 360.360Chrome.X winget
3603 360.360CleanMaster winget
3604 360.360se winget
3CX Call Flow Designer (.exe edition) 3CX.3CXCallFlowDesigner winget`
</script>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/416967.html
標籤:
下一篇:無法讀取表單元素
