Javascript 如何获取字符串中的最后一个字母字符?

Javascript 如何获取字符串中的最后一个字母字符?,javascript,regex,string,Javascript,Regex,String,在这里,我想给每个字符一个空格,除了最后一个字母: var str=“测试” var结果=”; 对于(变量i=0;imatch.split(“”).join(“”)) 解释 \w{2,}匹配2个或更多字母字符 match.split(“”).join(“”) 使用regex replace函数,您可以像这样将所有字符隔开: “测试字符串,有几个单词。”.replace(/\w{2,}/g,match=>match.split(“”).join(“”)) 解释 \w{2,}匹配2个或更多字母字

在这里,我想给每个字符一个空格,除了最后一个字母:

var str=“测试”
var结果=”;
对于(变量i=0;i
所以它会打印“t”


我尝试了这个
(I===str.length-1)
,但当字符串的最后一个字符是句点(.)时(“test”)就不起作用了,而我只想以字母为目标。

您可以先使用正则表达式删除所有非字母字符,然后执行拆分/联接组合以插入空格(或使用另一个正则表达式):

var str=“不要测试。”;
var result=str.replace(/[^a-z]/gi'').split('').join('');

控制台日志(结果)您可以先使用正则表达式删除所有非字母字符,然后执行拆分/联接组合以插入空格(或使用另一个正则表达式):

var str=“不要测试。”;
var result=str.replace(/[^a-z]/gi'').split('').join('');
控制台日志(结果)
第一个替换为向所有字符添加一个空格

第二个替换将删除最后一个字母后的空格

console.log(“testasdf?”。替换(//g,“$&”)。替换(/([A-Za-z])([^A-Za-z]*)$/,“$1$2”);
console.log(“超级测试!是的”。替换(/。/g,“$&”)。替换(/([A-Za-z])([^A-Za-z]*)$/,“$1$2”)
第一个替换为向所有字符添加一个空格

第二个替换将删除最后一个字母后的空格

console.log(“testasdf?”。替换(//g,“$&”)。替换(/([A-Za-z])([^A-Za-z]*)$/,“$1$2”);

console.log(“超级测试!是的”。替换(/。/g,“$&”)。替换(/([A-Za-z])([^A-Za-z]*)$/,“$1$2”)使用正则表达式替换函数,您可以按如下方式将所有字符隔开:

“测试字符串,有几个单词。”.replace(/\w{2,}/g,match=>match.split(“”).join(“”))

解释

  • \w{2,}
    匹配2个或更多字母字符
  • match.split(“”).join(“”)

使用regex replace函数,您可以像这样将所有字符隔开:

“测试字符串,有几个单词。”.replace(/\w{2,}/g,match=>match.split(“”).join(“”))

解释

  • \w{2,}
    匹配2个或更多字母字符
  • match.split(“”).join(“”)

    • 有一个类似于前瞻断言的特性。 所以可能是这样

      str.replace(/(\w)(?=.*\w)/, "$1")
      

      有一个类似于前瞻断言的特性。 所以可能是这样

      str.replace(/(\w)(?=.*\w)/, "$1")
      

      你能提供你的预期输出吗?
      “测试”
      应该变成
      “测试”
      。但是
      “test.”
      应该是什么样子的?如果“don't test.”会产生什么结果?但是如果你已经有了删除非字母字符的代码,那么真正的问题是什么?在您显示的代码中,没有任何内容可以删除非字母字符。您已经删除了非字母字符,但是您在使用非字母字符的字符串时遇到了问题?!你能提供你的预期输出吗?
      “测试”
      应该变成
      “测试”
      。但是
      “test.”
      应该是什么样子的?如果“don't test.”会产生什么结果?但是如果你已经有了删除非字母字符的代码,那么真正的问题是什么?在您显示的代码中,没有任何内容可以删除非字母字符。您已经删除了非字母字符,但是您在使用非字母字符的字符串时遇到了问题?!
      str.replace(/(\w)(?=.*\w)/, "$1")