我遇到了一些嘗試將字符串解析爲兩個字段的邏輯問題。名稱和版本。我一直在分割「/」,它對於只有一個「/」的字符串非常適用。例如:如何在字符串中出現多次的字符上分割字符串
strString = someName/A
nameVer = strString .split('/')
name = nameVer[0]
ver = nameVer[1]
這會返回name = someName和ver = A。這是我想要的。問題是當我在字符串中有多個「/」時。特別是這3種情況:
Part ="someName//" #Expected output: name=someName ver=\
Part1="some/Name/A" #Expected output:name=some/Name ver=A
Part2="some/Name//" #Expected output:name=some/Name ver=/
名稱和版本都可以是或包含「/」的。我已經嘗試了很多事情,包括跟蹤「/」的索引並抓取它們之間的內容。在某些情況下,我還爲該字符串添加了括號(「[some/Name //]」),這樣我就可以索引字符串的第一個和最後一個字符。任何幫助,這是非常感謝。謝謝
不會有任何通用的方法來解析包含'/'的字符串,它們也被'/'分開。你需要有更多的信息。比如,你怎麼知道哪個'/'應該是分隔符,哪些是名字的一部分? – BrenBarn 2012-07-25 21:31:29
在第一行代碼中,應該引用該字符串。此外,Part的預期輸出應該是'ver = /',而不是'ver = \',因爲反斜槓不會出現在第一個字符串中。 – Lenna 2012-07-25 21:35:53
我錯過了問題的第二部分,並同意@BrenBarn - 它太含糊。我建議OP提供一個唯一的字符串來從版本中分隔名稱。 – jmetz 2012-07-25 21:40:36