删除可变长度字符串的结尾大家好,
我有一列:Protocol,其中包含可变长度的字符串,其格式为Character,Nominal。 我在下面添加了一些示例。 我正在尝试从列中删除字符串的最后4个字符,并保留所有其他内容。 后4个字符始终是以下之一:-001,-002,-003或-004。 我尝试使用Word()和Substr()完成此操作,但无法使其正常工作:
协议
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
这就是我希望这4行的列的样子:
协议
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
我尝试使用Word()函数来完成此操作,如下所示:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
脚本编写回复:删除可变长度字符串的结尾类似于Left(:Protocol,Length(:Protocol)-4)回复:删除可变长度字符串的结尾我同意@戴维·伯纳姆,您可以直接使用left获得结果,如果您真的想使用word,也许您可以参考下面的内容(我在附件中也附有数据表):
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
new_col = dt << New Column( "Trimmed Protocol",
character,
formula( Word( [1 -2], :Protocol, "-" ) )
);
回复:删除可变长度字符串的结尾我还考虑过使用Left()函数。 这是我的看法:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
我建议您选择“帮助”>“脚本索引”,然后选择“功能”>“字符”。 有很多内置的用于处理字符串的支持。