我正在使用BASIC编程语言进行工作。我在这里有一个示例字符串:
Eric * 01 * 73839
通过使用字段功能,我可以像这样抓住Eric或01:
ERIC = FIELD(STRING,"*",1)
01 = FIELD(STRING,"*",2)
但是,如果我想获取“ 73839”部分,该怎么办?我发现很难在Google上找到资源,因为它太旧了。
**否,
FIELD(STRING,"*",3)
不起作用。
答案 0 :(得分:2)
您始终可以进行一些变体,将纯字符串转换为动态字符串并提取第三个字段。例如:
CONVERT "*" TO @FM IN STRING
FIELD3 = STRING<3>
具体细节取决于您所使用的多值BASIC风格。它可能必须更像是:
EQU FM TO CHAR(253) ;* Likely somewhere near the top, it will be used a lot
...
STRING = CHANGE(STRING,"*",FM)
FIELD3 = STRING<3>
如果需要提高动态性(可能有三个以上的字段,并且您始终需要最后一个字段),则需要使用DCOUNT(或COUNT + 1)来查找最后一个字段。
答案 1 :(得分:1)
您的代码或数据不正确(那第二秒*可能是看起来像[https://www.htmlsymbols.xyz/star-symbols/asterisk]的Unicode吗?)。还是STRING可能是您在PICK Basic风格中的保留字?
STRING='Eric*01*73839'
CRT '1=':FIELD(STRING,'*',1)
CRT '2=':FIELD(STRING,'*',2)
CRT '3=':FIELD(STRING,'*',3)
为我带来的结果:
1=Eric
2=01
3=73839