比如有一下字符串:
家园JY
论坛LUNTAN
社区SHEQ
  我想去掉后面的英文字符 怎么删除??  

解决方案 »

  1.   

    如果只需保留汉字echo preg_replace('/[\x00-\x7F]/', '', '社区SHEQ');如果只替换英文字母,str_replace就可以了
      

  2.   

    Java里这是基础的:
    public class DeleteAll
    {
          public static void main(String [] args)
          {
                     System.out.println(deleteAll("lhellol",'l'));
          }      public static String deleteAll(String source,char oldc)
          {
                StringBuffer sbu = new StringBuffer();
                //字符串的长度
               int lenOfsource=source.length();
               //指定字符在字符串中的位置
               int i;
               //从指定位置开始寻找
                int posStart;
                //int indexOf(char ch,int intStart)
               //如果ch在字符串中的位置大于intStart
                //返回实际的位置
                //否则返回0或者-1
                //此方法原理:
                //从字符串的第一个位置开始找起
               //如果找到oldc,就截取从posStart开始到i结束的字符串
                 //substring(int begin,int end)不包括结束时的字符
               //这样就删除了第一次找到的指定字符
               //由于后面的指定字符肯定在第一次找到的指定字符后面
               //所以再对指定位置posStart在第一次找到的位置上加1
                //posStart=i+1
                for(posStart=0;(i=source.indexOf(oldc,posStart))>=0;posStart=i+1)
               {
                        sbu.append(source.substring(posStart,i));
                 }
      
                //经过上一次循环删除了所有的指定字符
                 //但如果在此字符后面还有字符串
                 //则也要截取到
                 //此时posStart的值是最后一个指定字符的位置+1
                 //如果posStart小于字符串长度,则肯定还有未添加的字符串
                //所以再加上一个判断
                 if(posStart<lenOfsource)
                  {
                              sbu.append(source.substring(posStart));
                  }
      
                  return sbu.toString();
      
           }
    }
      

  3.   

    <?php
    $a='论坛LUNTAN';
    $a=preg_replace('/[\x00-\x7F]/', "", $a); 
    echo $a;
    ?>
      

  4.   

    字符串操作什么语言都是基础java 的 replaceAll 也不会比你循环慢吧