【问题标题】:In VBScript how do you take a string using mid and split the string at say a ";"在 VBScript 中,如何使用 mid 获取字符串并将字符串拆分为“;”
【发布时间】:2016-05-26 22:13:27
【问题描述】:

所以我对 VBScript 比较陌生,并且正在努力获取字符串并删除/拆分它。我目前有:

id= mid(storeline,id,instr(id,storeline, ";",1))

我基本上想删除“;”之后的任何代码。 例如:ID:12049302; Height = 20; 我目前让它返回所有内容。任何帮助都很棒,谢谢。

【问题讨论】:

  • 建议您查找如何使用Mid()InStr()。您可能会发现 Split() 对这种情况很有用,这和 concatenation 的定义。
  • Concatenate 的意思是“合并”,但听起来你想在“;”处“拆分”字符串?
  • 对不起,我要拆分/删除
  • 如果你想要一个字符串的开头,你需要使用left而不是mid(代表中间)。

标签: vbscript


【解决方案1】:

您可以使用Split() 根据; 分隔符值分解您的字符串,如下所示;

Dim storeline: storeline = "ID:12049302; Height = 20;"
Dim data: data = Split(storeline, ";")
Dim entry

If IsArray(data) Then
  'Return just the first entry
  WScript.Echo "Result is " & Trim(data(0) & "")

  'Use a loop to iterate through the Array
  For Each entry In data
    entry = Trim(entry & "")
    WScript.Echo entry
  Next
End If

输出:

Result is ID:12049302   
ID:12049302
Height = 20

【讨论】:

  • 我们可以说 storeline 包含一个足够大的字符串来保存许多属性等。本质上是挑出 id 然后在分号处分解字符串
  • @AustinEfnor 我刚刚展示了两种访问数组项的方法,如果您想通过说ID 来识别一种方法,您可以像上面一样执行循环并检查类似If Trim(Split(entry, ":")(0)) = "ID" Then 的内容.您必须了解我已根据问题中提供的信息进行了回答,这远非解决方案而是指南。
【解决方案2】:

假设storeline = "ID:12049302; Height = 20;" 那么

myArray = Split(storeline, ";")
id = myArray(0) ' will contain "ID:12049302"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    相关资源
    最近更新 更多