【问题标题】:jQuery/JavaScript string replace a specific word and all characters after itjQuery/JavaScript 字符串替换特定单词及其后的所有字符
【发布时间】:2012-06-26 00:46:48
【问题描述】:

如何删除空格、关键字及其后面的所有内容?这就是我要找的东西

var test = $('.replaceMe').attr('title').replace(/ /g, '');

<a class="replaceMe" href="#" title="Replace By Everything After It">haha</a>

导致:

test = Replace;

更新:

关键字是一个尚未确定的词,将包含在所有标题中。在这个例子中,它是“By”。

Roko 和 user1215106 的答案都有效——他们从示例中删除了所有多余的部分,留下了 Replace,但我未能澄清关键字之前的短语(在本例中为 Replace)会有所不同,并且会有不同数量的单词。

例如:

title="Replace By Everything After It"

Result= Replace

title="All This Should Stay By Things That Should Go"

Result= AllThisShouldStay

【问题讨论】:

  • “关键字”是什么意思?
  • 是否要检索标题属性的第一个单词作为字符串?
  • mvbl fst:澄清后解释。 Sime Vidas:有点,上面澄清了

标签: jquery regex replace character


【解决方案1】:

jsFiddle demo

var keyword = 'By';

var test = $('.replaceMe').attr('title').split(keyword)[0].replace(/ /g, '') ; 


或者,您可以执行以下操作,而不是使用 keyword 变量:
var test = $('.replaceMe').attr('title').split('By')[0].replace(/ /g, '') ; 

【讨论】:

  • 不完全,我会在上面详细说明。 “by”之前的短语(或关键字最终是什么)各不相同。
  • @technopeasant 所以...(在您的 2. 示例中)您的关键字实际上是单词 By,对吧?
  • @technopeasant :) 好了!我重新编辑了我的答案和演示
  • @technopeasant 所以实际上你非常接近,你只是错过了这个:.split('By')[0]
【解决方案2】:
var test = $('.replaceMe').attr('title').replace(/\s+by\s.*/, '').replace(/\s+/. ''); 

【讨论】:

  • 和 Roko 一样——不完全是,我会在上面详细说明。 “by”之前的短语(或关键字最终是什么)各不相同。
【解决方案3】:

key成为您要查找的关键字。

escapedKey = key.replace(/([-$^&*()\/\\+?.\[\]{}|])/g, "\\$1");
$('.replaceMe').attr('title').replace(new RegExp(escapedKey + ".*"), "")

我尝试对任意关键字进行概括,但尚未对所有内容进行测试。

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2021-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 2012-09-14
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多