1

我有一些文字内容

atxtCtnt = "Helow Hay How Are You"

如果Hay存在,我需要删除Hay 你好吗

我是这样做的:

var atxtCtnt = "Helow Hay How Are You",
txt = atxtCtnt.substring(atxtCtnt.indexOf("Hay"));
atxtCtnt = atxtCtnt.replace(txt , "");
alert(atxtCtnt );

请在没有 RegExp 的情况下以更好的方式帮助我

4

6 回答 6

4

如果您不想使用正则表达式...我认为这会使您的代码更短一些

a = atxtCtnt.indexOf('Hay');
atxtCtnt = a >=0?atxtCtnt.substring(0,a):atxtCtnt;
于 2012-12-13T07:17:32.173 回答
4

您需要从 0 到索引的子字符串。但仅当索引大于 0 时(文中存在“干草”一词)。像这样

var atxtCtnt = "Helow Hay How Are You";
var index = atxtCtnt.indexOf("Hay");
var newText = (index < 0) ? atxtCtnt : atxtCtnt.substring(0, index);
alert(newText);
于 2012-12-13T07:18:01.260 回答
2

这应该有效:

atxtCtnt = atxtCtnt.substring(0, atxtCtnt.indexOf("Hay"));

编辑:要考虑是否Hay不存在:

atxtCtnt = atxtCtnt.substring(0, atxtCtnt.indexOf("Hay") === -1 ? atxtCtnt.length : atxtCtnt.indexOf("Hay"));
于 2012-12-13T07:12:33.953 回答
2

我不确定这是否比子字符串更好的解决方案,但你也可以试试这个:

atxtCtnt.split('Hay')[0]

您可以像这样删除“Helow”末尾的空格:

atxtCtnt.split('Hay')[0].trim()
于 2012-12-13T07:17:51.913 回答
2
var word = "Hay";
var a = "Helow Hay How Are You";
var b = a.split(word); // now you have two parts b[0] = Helow and b[1] = How Are You
document.body.innerHTML=b[0];
于 2012-12-13T07:18:43.300 回答
2

这就是我所做的

var atxtCtnt = "Helow Hay How Are You",
txt = atxtCtnt.substring(0, atxtCtnt.indexOf("Hay"));
alert(txt );​

谢谢你的回答:)

于 2012-12-13T10:14:38.630 回答