如何获取字符串中括号之间的字符?大家好,
我有一个如下所示的字符串“ [CDO600705010] [S 88ABCV AB IT] [C23204348IT] ”
你知道如何在左括号和右括号之间获取字符吗
例如:
CDO600705010
S 88ABCV AB IT
C23204348IT
真挚地
高级统计建模消费者和市场研究数据存取回复:如何获取字符串中括号之间的字符?我肯定会选择 Word() 或 Words() 来使用这个,但是有一个字符图案JMP 中的东西。 它相当难学,而且与更简单的方法相比,它的用途可能有点有限(我没有费心去学习它)。 脚本修改自以下位置的脚本回复:从字符串中提取文本(帖子也有匹配的解释)
Names Default To Here(1);
// see https://community.jmp.com/t5/Discussions/Extract-text-from-string/td-p/450420
txt = " [CDO600705010] [S 88ABCV A B IT] [C23204348IT] ";
sp = Pat Span("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 ");
found_list = {};
Pat Match(
txt,
"[" + sp >> match + ("]") + Pat Test(
Insert Into(found_list, match);
0;
)
);
show(found_list);
// found_list = {"CDO600705010", "S 88ABCV A B IT", "C23204348IT"};
但是多个括号之间的匹配可能是我可以看到自己使用字符模式的地方。
也可以看看脚本编写指南 > 数据类型 > 模式匹配
回复:如何获取字符串中括号之间的字符?单词()这是每个 JMP 用户都应该知道的功能。
如果您只学习一种公式编辑器函数,Word() 就是其中之一
回复:如何获取字符串中括号之间的字符?我喜欢@tx尼尔森的做法。 我经常使用它。 人物功能很方便!
这是使用 Regex() 的另一种方法。 这不是一个解决方案。 它说明了如何解析每个字符串。 我展示了两种搜索模式,但其他模式也是可能的。 我想知道哪种方式更快,因为这可能是考虑到许多字符串。
Names Default to Here( 1 );
string = { "[CDO600705010]", "[S 88ABCV A B IT]", "[C23204348IT]" };
n = N Items( string );
For( s = 1, s <= n, s++,
Show(
Regex( string[s], "([\w\d\s]+)", "\1" );
);
);
For( s = 1, s <= n, s++,
Show(
Regex( string[s], "[^\-[\]]+" );
);
);
回复:如何获取字符串中括号之间的字符?惊人的! 欣赏它就像奇迹一样
回复:如何获取字符串中括号之间的字符?s=" [CDO600705010] [S 88ABCV A B IT] [C23204348IT] ";
one = word(2,s,"[]");
show(one);
/*:
one = "CDO600705010";