从字符串中特定位置删除字符你好,
我正在创建一个脚本来从字符串中删除字符,同时忽略字符串中前面的相同字符。
例如,在数据表中,我有一个特殊的日期时间 YY/MM/DD/hh:mm,并且希望删除第三个 /(即字符 9)。

感谢您的任何帮助,
卢克
高级统计建模自动化和脚本编写大规模定制质量和工艺工程视窗回复:从字符串中特定位置删除字符可能只是列引用的一些简单错误。
Names Default To Here(1);
dt = New Table("Untitled 5",
Add Rows(3),
New Column("DateTime", Character, "Nominal", Set Values({"21/10/24/15:21", "21/10/24/14:21", "20/09/20/15:20"}))
);
/*
other solutions
a = "21/10/24/15:21";
//other solution with Regex
Show(Regex(a, "^(.{8})(.)(.*)$", "\1 \3"));
//using Words and Concat Items
Show(Concat Items(Words(a, "/")[1 :: 3], "/") || " " || Word(4, a, "/"));
//Using Contains to get last "/" and then Substr()
lastIdx = Contains(a, "/", -1);
Substr(a, 1, lastIdx - 1) || " " || Substr(a, lastIdx + 1);
*/
dt << New Column("Compatible DateTime", Formula(Left(:DateTime, 8)</img> || " " || Right(:DateTime, 5)));(请注意,如果没有一些额外的 jsl,新列将不会是数字连续的)
回复:从字符串中特定位置删除字符你好克雷格,我已经尝试过,但在尝试使用它时似乎出现错误:

当我尝试使用数据创建新列时,我可能理解不正确:

另外很抱歉,由于某种原因,我无法将 JLS 脚本发送到所需的屏幕截图
回复:从字符串中特定位置删除字符有很多方法。 如果字符串的长度始终相同,等等,我可能会使用公式列
Left( DateTime, 8 ) || "T" || Right( DateTime, 5 );
您可能需要一个像 T 这样的分隔符,它由一种国际格式 yyyy-mm-ddThh:mm 使用。
如果有一些变化,但可能总是第三个 /,我可能会在公式列中使用正则表达式
Regex( DateTime, "^(\d+/\d+/\d+)/(\d+:\d+)$", "\1T\2" );
^ 和 $ 将匹配锚定到日期时间字符串的开头和结尾。 \d+ 匹配 1 个或多个数字。 括号构成组,并且用 \1T\2 引用这两个组来构建结果值。