获取javascript字符串中的最后一个字符,忽略空格

时间:2016-01-30 14:33:44

标签: javascript regex string

给定字符串:

234 +(请注意+之后的空格)

我想写一个函数来确定那里是否有某个特定字符(在这种情况下是+

背景

我有输入来保存数学方程式

我想要的按钮可以添加2位数,3位数字等。同时还允许用户输入自己的数字和操作符。

因此,如果输入为空,并且用户单击了3位数按钮,我希望将234添加到输入中。

如果他再次点击,我想添加+ 234(因为那里没有运营商)

现在,如果用户输入另一个+(可选地后跟任意数量的空格),我只想再次添加234

tldr

如何读取字符串中的最后一个非空格字符? jquery首选,香草也可以。

3 个答案:

答案 0 :(得分:4)

.(?=\s*$)
  • . - 一个角色
  • (?=) - 积极前瞻以验证是否存在,但不包括在比赛中
  • \s* - 零个或多个空格
  • $ - 直到字符串的结尾

See it in action

答案 1 :(得分:4)

首先修剪任何空格,然后获取最后一个字符并将其与某些内容进行比较

var str = "234 + ";

str = str.trim();

var last = str.charAt(str.length - 1);

答案 2 :(得分:1)

https://regex101.com/r/zV5zV2/1

str = '234 +   \n 823 + sqrt(4)       \n 7880 - cos(16)\t'
re = /(\S)+(?=\s*$)/gm
lastWords = str.match(re)
console.log(lastWords)  //logs ["+", "sqrt(4)", "cos(16)"]

输入字符串是多行的,以说明不同的可能性。