+ -
当前位置:首页 → 问答吧 → 怎么指定要替换第几个字符串?

怎么指定要替换第几个字符串?

时间:2011-10-12

来源:互联网

如:
当前字符串:
"a反对个地方a的感大概大师傅a似的但是a豆腐干似的a"
怎么指定把第2个a替换成b 把第4个a替换成c
求方法,求代码-_-!

作者: weweidisid   发布时间: 2011-10-12

没有现成的函数,可以自己写。
随手写个简单的,没找到更好的。
1.PHP code
<?php
  header("content-type:text/html;charset=utf-8");
  $str = "a正对个地方a的感大概大师傅a似的但是a豆腐干似的a";
  $startIndex = strpos($str,'a');
  $str{$startIndex}="`";
  
  $index2 = strpos($str,'a');
  $str{$index2} ='b';
  
  $index3 = strpos($str,'a');
  $str{$index3} = "`";
  
  $index4 = strpos($str,'a');
  $str{$index4} ='c';
 
  $str = str_replace('`','a',$str);
  echo $str;


作者: ohmygirl   发布时间: 2011-10-12

可以用正则
PHP code
$preg= '/(.*?a.*?)a(.*?a.*a)/';
$str = "a反对个地方a的感大概大师傅a似的但是a豆腐干似的a";
preg_replace($preg,$1b$2c,$str);
echo $str;

作者: hemuhan   发布时间: 2011-10-12

引用 1 楼 ohmygirl 的回复:
没有现成的函数,可以自己写。
随手写个简单的,没找到更好的。
1.

PHP code
<?php
header("content-type:text/html;charset=utf-8");
$str = "a正对个地方a的感大概大师傅a似的但是a豆腐干似的a";
$startIndex = strpos($str,'a');
$str{$startIndex……

在问个数据库的事啊
比如我有10条数据删除最后2条后然后在添加数据主键值变成10了
怎么把记录删干净让他重新重第8条开始啊?
INSERT 插入不要啊,我要删干净

作者: weweidisid   发布时间: 2011-10-12

括号弄错了
PHP code
$preg= '/(.*?a.*?)a(.*?a.*?)a/';
$str = "a反对个地方a的感大概大师傅a似的但是a豆腐干似的a";
preg_replace($preg,$1b$2c,$str);
echo $str;

作者: hemuhan   发布时间: 2011-10-12

$str = 'a反对个地方a的感大概大师傅a似的但是a豆腐干似的a';

function foo($char){
static $i = 0;
$t = range('a', 'z');
$res = $t[$i];
$i++;
return $res; 
}
echo preg_replace('/(a)/e', 'foo(\\1)', $str);

//output a反对个地方b的感大概大师傅c似的但是d豆腐干似的e

作者: ZT_King   发布时间: 2011-10-12

引用 3 楼 weweidisid 的回复:

引用 1 楼 ohmygirl 的回复:
没有现成的函数,可以自己写。
随手写个简单的,没找到更好的。
1.

PHP code
<?php
header("content-type:text/html;charset=utf-8");
$str = "a正对个地方a的感大概大师傅a似的但是a豆腐干似的a";
$startIndex = strpos($str,'a');
$……

可用alter table table_name AUTO_INCREMENT=n命令来重设自增的起始值。

作者: ZT_King   发布时间: 2011-10-12

上面没将代码格式化,看着别扭的很,另外加一个参数更符合LZ个性。
PHP code

$str = 'a反对个地方a的感大概大师傅a似的但是a豆腐干似的a';

function foo($char){
    static $i = 0;
    $t = range('a', 'z');
    $res = $t[$i];
    $i++;
    return $res; 
}
echo preg_replace('/(a)/e', 'foo(\\1)', $str,2);//此处设置改变个数

//output a反对个地方b的感大概大师傅c似的但是d豆腐干似的e

作者: ZT_King   发布时间: 2011-10-12

引用 6 楼 zt_king 的回复:
引用 3 楼 weweidisid 的回复:

引用 1 楼 ohmygirl 的回复:
没有现成的函数,可以自己写。
随手写个简单的,没找到更好的。
1.

PHP code
<?php
header("content-type:text/html;charset=utf-8");
$str = "a正对个地方a的感大概大师傅a似的但是a豆腐干似的a";
$startInd……

里面哪些是变量啊》?

作者: weweidisid   发布时间: 2011-10-12

相关阅读 更多