我遇到了一些尝试将字符串解析为两个字段的逻辑问题。名称和版本。我一直在分割“/”,它对于只有一个“/”的字符串非常适用。例如:如何在字符串中出现多次的字符上分割字符串
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