查找包含特定文本的行全部,
我被困在一个看似简单的步骤上。
我的表是由多个 CSV 文件编译而成。 在这些文件之前连接的地方,有一个服务行是空的,除了前三列,第一列中写着“### Switching Logging:datetime”,然后是从第二列中的哪个文件到哪个文件第三栏。 所以,我想删除一个垃圾行。 这些行唯一的共同点是第一列中的“Switching”一词。 另外,第一列的名称有分号,例如索引:日期,我需要保持这种方式。如何在不创建新列的情况下查找并删除这些行?
我尝试过这样的事情:
db_test << Get Rows Where (Contains("Switch", Column(1)));但它不起作用,显然 Contains() 只接受被称为 :columnname 的列。 但由于我的专栏名称中有“:”,所以我不能将其称为“:index:date”。即使我重命名该列,它显然也不起作用。
如何在一行中完成此操作?
谢谢!
回复:查找包含特定文本的行好的,只需将“列”更改为“作为列”即可。 太棒了,非常感谢!回复:查找包含特定文本的行谢谢! 我记得引用专栏时有一些奇怪的事情,但我认为它已经解决了。 显然,它被固定为“列”-->“作为列”? 
回复:查找包含特定文本的行我认为这种语法也可能有效:
db_test << Get Rows Where (Contains(Column(1)[ ], "Switch"));
即,在 Column(1) 函数调用后使用空下标(方括号)。
回复:查找包含特定文本的行吉姆的建议是最好的解决方案。作为一个供参考,附件是之前常用的遗留语法作为列() 。 您可以在公式中使用列引用,但是,您需要空括号来表示行、列的值。
Names Default To Here( 1 );
db_test = Open( "$SAMPLE_DATA/big class.jmp" );
mycol = Column("age");
xf = db_test << get rows where(contains(column(3)[],"F"));
xm = db_test << get rows where(contains(column("sex")[],"M"));
xa = db_test << get rows where( mycol[]== 13);
show (xf, xm, xa);
回复:查找包含特定文本的行我认为这可能是您正在寻找的解决方案:
Names Default To Here( 1 );
db_test = Open( "$SAMPLE_DATA/big class.jmp" );
db_test << get rows where(contains(as column(3),"F"))
回复:查找包含特定文本的行好的,它是这样工作的:
db_test << Get Rows Where (Contains(:"DataIndex:date", "Switch"));
但是,如果我输入 Column(1) 而不是 :"DataIndex:date",则会出错。 关于如何仅使用其位置来引用列有什么建议吗?