如何使用 Words 函数从字符串中仅提取特定元素假设我有一个带有公共分隔符的字符串,其形式为 bal1_bla2_blbla3_blabla4
我想创建一个仅包含“blbla3_blabla4”的新列,如何应用文字功能?
基础数据分析与建模回复:如何使用 Words 函数从字符串中仅提取特定元素你好,
UI 中的一个解决方案是使用 Recode 来实现您的目标。
右键单击列标题->重新编码->右键单击新值下的红色三角形->高级->提取段

您可以在日志中找到 JSL 代码,它使用了单词函数:
/*:
// Recode column: Column 1 2
Local( {dt, col1},
dt = Data Table( "Test table" );
dt << Begin Data Update;
col1 = dt << New Column( dt:Column 1 );
col1 << Set Name( "Column 1 2" );
dt << Move Selected Columns( {col1}, after( dt:Column 1 ) );
For Each Row(
dt,
col1[] = Word(
[3 4],
dt:Column 1,
Get Whitespace Characters() ||
Get Punctuation Characters( Exclude Chars( "'-" ) ) || "_",
Unmatched( dt:Column 1 )
)
);
dt << End Data Update;
希望这有帮助。
乔纳斯
回复:如何使用 Words 函数从字符串中仅提取特定元素如果您想要最后两个元素,那么您可以使用带有负索引的 Word(如果您知道字符串开头的确切位置,则可以使用正索引)
Names Default To Here(1);
str = "bal1_bla2_blbla3_blabla4";
res = Word([-2 -1], str, "_");
Show(res); // res = "blbla3_blabla4";