获取javascript字符串中的最后一个字符,忽略空格
给定字符串:获取javascript字符串中的最后一个字符,忽略空格,javascript,regex,string,Javascript,Regex,String,给定字符串: 234+(注意+后面的空格) 我想编写一个函数,确定是否存在某个字符(在本例中为+) 背景 我输入了一个数学方程式 我想有按钮,可以添加2位,3位数字等,同时也允许用户输入自己的数字和运营商 因此,如果输入为空,并且用户单击3位按钮,我希望将234添加到输入中 如果他再次单击,我想添加+234(因为那里没有操作员) 现在,如果用户键入另一个+(可选后跟任意数量的空格),我只想再次添加234 tldr 如何读取字符串中最后一个非空白字符? 首选jquery,香草也可以 .(?=\s*
234+
(注意+
后面的空格)
我想编写一个函数,确定是否存在某个字符(在本例中为+
)
背景
我输入了一个数学方程式
我想有按钮,可以添加2位,3位数字等,同时也允许用户输入自己的数字和运营商
因此,如果输入为空,并且用户单击3位按钮,我希望将234
添加到输入中
如果他再次单击,我想添加+234
(因为那里没有操作员)
现在,如果用户键入另一个+
(可选后跟任意数量的空格),我只想再次添加234
tldr
如何读取字符串中最后一个非空白字符?
首选jquery,香草也可以
.(?=\s*$)
-字符
-正向前瞻以验证是否存在,但不包括在匹配中(?=)
-零个或多个空格\s*
-直到字符串结束$
首先删除所有空白,然后只获取最后一个字符并与其他字符进行比较
var str = "234 + ";
str = str.trim();
var last = str.charAt(str.length - 1);
输入字符串是多行的,以说明不同的可能性。谢谢,看起来不错。但我认为adeneo的答案更为冗长;re=/(\S)(?=\S*$)/;lastNonSpaceSymbol=str.match(re)[0]你能把这个扩展到与sqrt(234)匹配吗?那么,这就是我的答案:没关系。。再想一想,我甚至不需要匹配它,因为这不是手术。如果有一个sqrt(234),我可以继续添加
+
,就好像它是一个普通的数字一样。RIM不会删除中间的空格string@RIYAJKHAN-不,它删除了字符串开头和结尾的空格,这在这里就足够了
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)"]