【问题标题】:How to detect a string inside an combination of characters in javascript如何在javascript中检测字符组合中的字符串
【发布时间】:2023-03-08 18:20:01
【问题描述】:

我遇到了问题。我有一个看起来像这样的字符串@[name1](2) some Text... @[name2](3) some Text.... 我想像name1 some Text... name2 some Text.... 这样重新排列这个字符串我该怎么做。上述模式来自 react-mentions 输出。基本上,括号()内的名称和它们旁边的数字可以更改,但模式将相同..如何删除特殊字符并正确显示名称和文本..请帮助。

【问题讨论】:

  • 检查他们的文档是否有任何方法可以在没有提及语法的情况下获取纯文本。
  • 我找不到这个..@adiga 但是我的问题已经解决了下面的 cmets 拯救了我的一天..

标签: javascript reactjs regex


【解决方案1】:

您可以使用正则表达式来替换多余的字符:

const input = '@[name1](2) some Text... @[name2](3) some Text';

const regex = /@\[(\w*)\]\(\d+\)/g;

const output = input.replace(regex, '$1');

console.log(output);

【讨论】:

  • 你能再帮我一次吗?你能告诉我如何只检索该组合中的字符串吗?说我想要来自@[name1](1) 的姓名和数字..你能帮我解决这个问题吗?
  • 在数字 (d+) 周围添加一个捕获组(括号),然后在替换字符串中添加 $2 您希望它出现的任何位置
【解决方案2】:

您可以使用 JavaScript 的 String#replace 方法来实现这一点。

let string = "@[name1](2) some Text... @[name2](3) some Text...."
let modifiedString = string.replace(/@\[(\w+)\]\(\d+\)/g,"$1")

console.log(modifiedString)

【讨论】:

    【解决方案3】:

    您可以将string.replace 与正则表达式一起使用。

    let str = "@[name1](2) some Text... @[name2](3) some Text...";
    
    let result = str.replace(/@\[(\w+)\]\(\d\)/g, (m,i) => i);
    
    console.log(result);
    

    【讨论】:

    • 谢谢...此方法有效..再次感谢您
    【解决方案4】:
    str=@[name1](2) some Text... @[name2](3) some Text....
    

    看起来你想摆脱 @,[,],(and) 所以你可以做的是

       str= str.replace("@", "").replace("[", "").replace("]", "").replace("(", "").replace(")", "");
    

    我还想补充一点,这是一个简单但幼稚的解决方案,可能会有更好的解决方案

    【讨论】:

    • 这会将@{}() 的所有实例替换为空。
    • 我不认为这会有用..这将替换所有提到的字符...如果找到特殊组合,我只想删除这些字符..无论如何上面的 cmets 都有解决方案
    • 这就是为什么我还补充说,这是一个幼稚的解决方案
    【解决方案5】:

    创建了一个正则表达式https://regex101.com/r/aqXegs/1/,基本上是/@\[(\w+)\]\([0-9]+\) (\w+)/gm

    可以像str.replace(/@\[(\w+)\]\([0-9]+\) (\w+)/gm, '$1 $2')这样在javascript中使用。

    如果您按照链接进行说明,并且该模式最适用于您的情况。

    【讨论】:

      猜你喜欢
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 2017-10-30
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多