某个字符在字符串第二次出现的位置

huangchena 2011-02-19 09:17:37
比如:var aa="abcdeafghijaklmn";

我想知道 字符 a 在aa这个字符串第二次出现的位置是多少

比如说这个a第二次出现是在第5位,怎么用js得出来

...全文
1217 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vidor 2011-02-19
  • 打赏
  • 举报
回复
var aa="abcdeafghijaklmn";
var reg = /a[^a]*a/g;
if (reg.test(aa)) alert(reg.lastIndex-1);
汉尼拔 2011-02-19
  • 打赏
  • 举报
回复
[code=JScrip]
// str: 是你的原字符串
// searchfor: 是你的要找的字符串
// count: 寻找的次数
function getPosition(str,searchfor,count)
{
var re = new RegExp(searchfor,"g");

while(count--){
re.test(str);
}
var pos = re.lastIndex-searchfor.length;
if(pos < 0)
return "找不到";
else
return pos;
}
alert(getPosition("abcdeafghijaklmn","a",2));
[/code]

这个函数的唯一好处在于你要寻找的可以是字符,也可以是字符串例如
alert(getPosition("abcdeafghijabcklmn","abc",2)); // 返回第二次出现abc字符串的位置
汉尼拔 2011-02-19
  • 打赏
  • 举报
回复
[code=JScrip]
// str: 是你的原字符串
// searchfor: 是你的要找的字符串
// count: 寻找的次数
function getPosition(str,searchfor,count)
{
var re = new RegExp(searchfor,"g");

while(count--){
re.test(str);
}
var pos = re.lastIndex-searchfor.length;
if(pos < 0)
return "找不到";
else
return pos;
}
alert(getPosition("abcdeafghijaklmn","a",2));
[/code]

这个函数的唯一好处在于你要寻找的可以是字符,也可以是字符串例如
alert(getPosition("abcdeafghijabcklmn","abc",2)); // 返回第二次出现abc字符串的位置
dalmeeme 2011-02-19
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script>
function abc()
{
var aa="abcdeafghijaklmn";
var n=0;
for(var i=0;i<aa.length;i++)
if(aa.charAt(i)=='a')
if(++n==2)
{
alert(i);
break;
}
}
</script>
</head>
<body>
<script>abc()</script>
</body>
</html>
挨踢直男 2011-02-19
  • 打赏
  • 举报
回复
[code=JScrip]var aa="22abcdeafghijaklmn";
var regex = /.*?a.*?a/i;
var length = regex.exec(aa).toString().length;
alert(length)[/code]
varlj 2011-02-19
  • 打赏
  • 举报
回复
正则式似乎也行

var str = 'abcdeafghijaklmn';
if(/(a).*?\1/.exec(str))
alert(str.length - RegExp.rightContext.length-1)
varlj 2011-02-19
  • 打赏
  • 举报
回复
[code=JScrip]
var str = 'abcdeafghijaklmn';
var find = 'a';//表示要找的字符
var flag = 2;//表示第几次出现
for(var i=0;i<str.length;i++){
if(str.charAt(i)==find)
flag--;
if(flag==0){
alert(i);
break;
}
}
[/code]

87,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧