javascript - 在 trim() 之后获取字符串的最后一个字符不起作用

标签 javascript

如何去除字符串中的空格,以获得最后一个字符?

const email = "abc@";
const emailWhiteSpace = "abc@ ";
console.log(email.trim()[email.length - 1]) //==> @
console.log(emailWhiteSpace.trim()[emailWhiteSpace.length - 1]) //==> undefinied

知道如何解决这个问题吗?

最佳答案

使用正则表达式可能更容易 - 匹配一个非空格字符,后跟空格字符,然后是行尾 ($):

const lastChar = str => str.match(/(\S)(?=\s*$)/)[1];
console.log(lastChar("abc@"));
console.log(lastChar("abc@ "));

当然你也可以将裁剪后的文字保存在一个变量中:

const lastChar = str => {
  const trimmed = str.trim();
  return trimmed[trimmed.length - 1];
};
console.log(lastChar("abc@"));
console.log(lastChar("abc@ "));

关于javascript - 在 trim() 之后获取字符串的最后一个字符不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56523872/

相关文章:

javascript - 如何访问中继器内的外部元素?

javascript - 如何从 Instagram 获取网站的动态数据

javascript - 无法禁用文本区域中的逗号

javascript - 在 React 中将数据作为 prop 发送之前需要将数据提取到数组中

javascript - SimpleWebRtc 不工作 : window is undefined

javascript - 如何检查导致 Web 元素对 Python Selenium 不可见的原因?

javascript - 如何通过ajax点击javascript文件执行 Node (控制台)命令

javascript - Chrome ://Invalid Scheme

javascript - 收到错误 Uncaught TypeError : string is not a function

javascript - 动态创建的组件在模型更改时未绑定(bind)到模型