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

Get last character in javascript string ignoring whitespace

本文关键字:最后一个 字符 字符串 JavaScript 空格 获取      更新时间:2023-09-26

给定字符串:

234 +(注意+后面的空格)

我想编写一个函数来确定那里是否有某些字符之一(在本例中为 +

背景

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

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

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

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

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

TLDR

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

首先修剪

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

var str = "234 + ";
str = str.trim();
var last = str.charAt(str.length - 1);
.(?='s*$)
  • . - 一个角色
  • (?=) - 正面预视以验证是否存在,但不包括在匹配中
  • 's* - 零个或多个空格
  • $ - 直到字符串的末尾

查看实际效果

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)"]

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