javascript - 检查字符串前面是否有特定字符

标签 javascript string

这是我的代码:

if (consoles.toLowerCase().indexOf("nes")!=-1)
    document.write('<img class="icon_nes" src="/images/spacer.gif" width="1" height="1">'); 
if (consoles.toLowerCase().indexOf("snes")!=-1)
    document.write('<img class="icon_snes" src="/images/spacer.gif" width="1" height="1">'); 

当单词“nes”和/或“snes”在字符串“consoles”中时,它应该输出它们各自的图标。如果两个控制台都在字符串内,则应显示两个图标。

这显然是行不通的,因为“nes”也包含在“snes”中。

那么,有没有办法检查“nes”前面是否有 S?

请记住,“nes”可能不是字符串中的第一个单词。

最佳答案

看来你最好测试一下“nes”或“snes”是否作为一个词出现:

if (/\bnes\b/i.test(consoles)) 
  ...

if (/\bsnes\b/i.test(consoles)) 
  ...

\bregular expressions 中是单词边界i 表示它们不区分大小写。

现在如果你真的想测试你的字符串中是否有“nes”但前面没有“s”,你可以使用

if (/[^s]nes/i.test(consoles))

关于javascript - 检查字符串前面是否有特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18024100/

相关文章:

java - 在除单个空格外的空格上拆分字符串

具有隐式转换的 C++ 类字符串类

objective-c - 24hr至12hr时间转换,将字符插入字符串

javascript - 为什么10比9小?

javascript - 推荐的 JavaScript 约定

javascript - 随机访客看到图像

javascript - 如何使d3折线图中的线条更平滑?

javascript - 如何在angularjs中将li标签附加到ul中?

c - 为什么我不能按以下方式将 strcpy() 与 strtok() 一起使用

c++ - 字符串和整数连接