gpt4 book ai didi

javascript - iMacros - 删除字符串中的最后一个字符

转载 作者:行者123 更新时间:2023-11-30 19:06:44 28 4
gpt4 key购买 nike

我有一个像“673.35”这样的字符串。定义为 VAR3。

我只想删除最后一个“.”所以我剩下“673.35”。这对我来说非常棘手。在 Google Chrome 上使用免费版 iMacros 插件。

我不能使用拆分函数或替换函数我不认为因为我的字符串中总是有一个小数点。

SET !VAR3 EVAL("var s = '{{!VAR3}}'; var x,y,z; y = s.split('.'); z = y[1].split('.'); z[0];")

这是我尝试过的,但显然它返回“35”,因为我的字符串中有两个小数点。

最佳答案

为了解决此类问题,发明了“正则表达式”。我不知道 imacros 是否可以处理正则表达式,但是由于您添加了“java”作为标记,我在这里提供了如何用 java 编写的解决方案:

    String s = "673.35.";
String regexp = "^(.*)(\\.?)$";
Matcher m = Pattern.compile(regexp).matcher(s);

if ( m.matches() )
{
String result = m.group( 1);
System.out.println( "result: " + result );
}
else
{
System.out.println( "no match");
}

这个正则表达式适用于

673.53. > 673.53
673.53 > 673.53
12345. > 12345
12345 > 12345

正则表达式看起来很神秘,但它们非常强大。在 java.util.regex.Pattern 的 java 文档中了解它。这里对上面的正则表达式进行一些解释:'^'是“行/字符串的开头”,'.*'是“任何字符,'\\.'是“一个点”(因为'.'是“任何字符”,点本身必须被'\'转义,在java字符串常量中使用'\'也必须被转义,因此两个'\'),' ?'是“一次或无”(前面的定义,这里是点) '$' 是“行尾/字符串”。括号将搜索结果分组以便之后访问它(“m.group(1)”)。

关于javascript - iMacros - 删除字符串中的最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58902231/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com