javascript - 正则表达式匹配直到某个单词并清除所有前导和尾随空格

标签 javascript regex

所以我需要用两种方式 trim 某个字符串(不同的结果)

myString = '3rd Floor Empire State Building',请注意 myString 的格式可以是:

  • 哈利法塔 13 楼
  • 克莱斯勒大厦二楼
  • 四楼大本钟

基本上我在这里想说的是“地板”这个词是一致的..

所以这就是我需要做的:

  1. 匹配字符串直到某个单词,并删除该单词之后的所有内容。

so from myString, I just need the word '3rd' - what I have so far is: myString.match(/.+?(?=floor)/ig) but this code leaves out a space and it becomes '3rd '

  • 匹配字符串直到某个单词,并向后删除该单词的所有内容。
  • so from myString, I just need the word 'Empire State Building'.

    编辑:我还需要牢记这些假设,是否可能以及如何使其简洁? (如果可能的话,一行):

    • 接受楼层或楼层
    • 仅采用 Floor/flr 之前的第一个单词(例如,如果输出是 Apartment 2nd flr Building 或 Apartment 2nd Floor bldg,则应仅采用 2nd 和 Building/bldg)

    最佳答案

    或者您可以使用字符串。 split()

    const myString = '3rd Floor Empire State Building';
    const certainString = ' Floor ';
    
    let before = myString.split(certainString)[0];
    let after = myString.split(certainString)[1];
    
    console.log(before);
    console.log(after);


    如果区分大小写是一个问题,我们可以在比较之前将它们转换为小写(或大写)。检查下面的代码片段:

    const myString = '3rd Floor Empire State Building';
    const certainWord = ' Floor ';
    //----------------------------------------------
    const lowerMyString = myString.toLowerCase();
    const lowerCertainWord = certainWord.toLowerCase();
    const beforeEndIndex = lowerMyString.indexOf(lowerCertainWord);
    const afterStartIndex = beforeEndIndex + lowerCertainWord.length;
    const before = myString.slice(0, beforeEndIndex);
    const after = myString.slice(afterStartIndex, myString.length);
    //----------------------------------------------
    console.log(before);
    console.log(after);

    关于javascript - 正则表达式匹配直到某个单词并清除所有前导和尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61061033/

    相关文章:

    javascript - 如何从 asp :FileUpload and display in a Label using ASP. NET 和 C# 中获取文件名

    javascript - 捆绑脚本,渲染但在 vs 2017 中发布后不起作用

    递归搜索路径并列出以特定字符串开头的所有目录的Java代码

    javascript - 如何检查 javascript 输入中的特殊字符 "<"或 ">"?

    ruby - 跳过正则表达式中的字符

    javascript - 如何在请求中操作 res.locals 对象?

    javascript - 想要生成唯一的数字 id,不能使用 node-uuid 因为后端需要数字 id

    javascript - 单击表格的单元格出现模式

    ruby - Ruby 中正则表达式的子字符串提取问题

    java - 正则表达式在java中的两个表达式之间提取字符串