在字符串上使用“Left”你好,
我认为这应该很容易,但花了太多时间试图弄清楚。 我有一个更复杂的工作表,其中包含更长的列表(指可能会更改的列名称),但我想做的是创建一个新列表,以便通过从原始列表中删除单词“_Yield”来在其他地方使用。 下面是简单的例子;
名称默认为此处( 1 );
exurl = {“测试_产量,帮助_产量”};
X = 左(exurl, 包含( exurl, "_Yield" ) - 1 );
为此,我想得到 X = {"Test", "Help"} 但我只是得到 X = exurl
自动化和脚本编写回复:在字符串上使用“Left”如果您可以访问 JMP16+,这是使用 Transform Each 的好地方
</CODE><BR /><CODE class=" language-jsl">Names Default To Here(1);
exurl = {"Test_Yield", "Help_Yield"};
X = Transform Each({url}, exurl, Substitute(url, "_Yield", ""));
show(X); // X = {"Test", "Help"};
回复:在字符串上使用“Left”你好@阴影,
连同什么@JohnDMoore1建议使用替代品,这是一个很好的方法,另一种选择如下:
Names Default to Here(1);
exurl = {"Test_Yield", "Help_Yield"};
x={};
For(i=1, i<=NItems(exurl), i++,
x[i]=left(exurl[i], Contains(exurl[i], "_Yield")-1);
);我认为抛弃 Left 命令的原因之一是它是一个多元素列表——尽管脚本索引说它可以处理列表,但它似乎实际上并不具备这种能力。 For 循环有助于将输出变量构建为列表。 有时这种方法更灵活,特别是当你有很大的数据表并且需要重命名很多列等时。
另外,我认为您提供的示例网址中有错误。 您写道:exurl={"Test_Yield, Help_Yield"},这只是单个字符串,而不是列表。 我认为您要写的是 exurl={"Test_Yield", "Help_Yield"} ,其中有额外的引号和逗号分隔列表中的元素。
希望这可以帮助!,
DS
回复:在字符串上使用“Left”约翰您好,感谢您的回复。 我已经尝试过了,但仍然得到 X = excurl。
回复:在字符串上使用“Left”在这些情况下我倾向于使用替代品
X = substitute(exurl,"_Yield","");