Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 拆分字符串成为Crystal报告中的自定义代码_String_Vb6 - Fatal编程技术网

String 拆分字符串成为Crystal报告中的自定义代码

String 拆分字符串成为Crystal报告中的自定义代码,string,vb6,String,Vb6,我有这样的绳子 p-123C自动 P-H342非自动系统 P-HH231自动系统 PD 4357JP REF-B130MK3空气系统 BSC-WDB801流量系统 我想要这样的绳子 p-123C P-H342 P-HH231 PD 4357JP REF-B139MK3 BSC-WDB801 请帮助…大师我已经试过了,不幸的是PD 4357JP出现了问题,因为它被一个空格隔开。然后,因为您的结果似乎仅由上字符和数字组成,我尝试删除所有下字符,结果似乎很好: Dim sOut As String D

我有这样的绳子

p-123C自动 P-H342非自动系统 P-HH231自动系统 PD 4357JP REF-B130MK3空气系统 BSC-WDB801流量系统

我想要这样的绳子

p-123C P-H342 P-HH231 PD 4357JP REF-B139MK3 BSC-WDB801


请帮助…大师

我已经试过了,不幸的是PD 4357JP出现了问题,因为它被一个空格隔开。然后,因为您的结果似乎仅由上字符和数字组成,我尝试删除所有下字符,结果似乎很好:

Dim sOut As String
Dim sIn As String
Dim sResult As String
Dim i As Long
Dim c As String
sIn = "P-123C automatic P-H342 non automatic system P-HH231 automatic system PD 4357JP REF-B130MK3 air system BSC-WDB801 flow system"
For i = 1 To Len(sIn)
    c = Mid$(sIn, i, 1)
    Select Case Asc(c)
        Case 97 To 122 ' remove lower chars
            ' do nothing
        Case Else
            sOut = sOut & c
            sOut = Replace$(sOut, "  ", " ")
    End Select
Next i
sResult = sOut
Debug.Print sResult
'Is: P-123C P-H342 P-HH231 PD 4357JP REF-B130MK3 BSC-WDB801 

源字符串是常量还是变量?如果它是常量,则可以使用Split()函数创建一个字符串数组,用空格分隔,然后进行循环,仅选择以P、R和B开头的字符串。如果它是变量,则变得很难…代码如何如果小写字符是常量,您可以使用它们创建一个数组并从原始字符串中删除它们。如果像这样的字符P-123C自动P-H342非自动系统P-HH231自动系统PD 4357JP REF-B130MK3空气系统BSC-WDB801流量系统code@axna2000:那么我的代码不能正常工作,我认为你想要的是不可能的,正如这一条件。源字符串的格式应为逻辑类型。但是不是。是的,我知道,首先源代码必须是常量,然后你的代码我认为是有效的。谢谢Giorgio