部分字符串替换为*

 1 function cut_str($string, $sublen, $start = 0, $code = ‘UTF-8‘)
 2 {
 3     if($code == ‘UTF-8‘)
 4     {
 5         $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
 6         preg_match_all($pa, $string, $t_string);
 7
 8         if(count($t_string[0]) - $start > $sublen) return join(‘‘, array_slice($t_string[0], $start, $sublen));
 9         return join(‘‘, array_slice($t_string[0], $start, $sublen));
10     }
11     else
12     {
13         $start = $start*2;
14         $sublen = $sublen*2;
15         $strlen = strlen($string);
16         $tmpstr = ‘‘;
17
18         for($i=0; $i< $strlen; $i++)
19         {
20             if($i>=$start && $i< ($start+$sublen))
21             {
22                 if(ord(substr($string, $i, 1))>129)
23                 {
24                     $tmpstr.= substr($string, $i, 2);
25                 }
26                 else
27                 {
28                     $tmpstr.= substr($string, $i, 1);
29                 }
30             }
31             if(ord(substr($string, $i, 1))>129) $i++;
32         }
33         //if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";
34         return $tmpstr;
35     }
36 }

字符串部分用*代替,

调用为

echo cut_str($str, 1, 0).‘**‘.cut_str($str, 1, -1);

  

时间: 2024-11-03 21:56:59

部分字符串替换为*的相关文章

nyoj 113 字符串替换 (string中替换函数replace()和查找函数find())

字符串替换 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 编写一个程序实现将字符串中的所有"you"替换成"we" 输入 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 输出 对于输入的每一行,输出替换后的字符串 样例输入 you are what you do 样例输出 we are what we do读一行的方法:用geiline(cin,s) 1 #include <iostream>

python文件操作--字符串替换

如把test.txt文件的 所有 AAA 字符串 替换成 aaaaa 1 with open('test.txt','+r') as f: 2 t = f.read() 3 t = d.replace('AAA', 'aaaaaa') 4 #读写偏移位置移到最开始处 5 f.seek(0, 0) 6 f.write(t)

str_replace字符串替换

字符串替换, src 源字符串, buf_size 缓冲大小, search搜索的字符串大小, repstr 需要替换成的字符串 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

【java解惑】java字符串替换方法使用

    如下代码: public class Example020 { public static void main(String[] args) { String separator = File.separator; String clazzName = Example020.class.getName(); String rs1 = clazzName.replace(".", separator); // 方法1 String rs2 = clazzName.replaceA

批处理命令:带参数的字符串替换

批处理命令:带参数的字符串替换 @echo off setlocal enabledelayedexpansion set main_str=hello world set src=hello set dst=hi echo %main_str% set sub_str=!main_str:%src%=%dst%! echo %sub_str%

poj 3981 字符串替换

字符串替换 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10871   Accepted: 5100 Description 编写一个C程序实现将字符串中的所有"you"替换成"we" Input 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 Output 对于输入的每一行,输出替换后的字符串 Sample Input you are what you do

sed 字符串替换

1. sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义. 2. 单引号” ‘ ’”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,格式如下: # 要处理的字符包含单引号sed "s/原字符串包含'/替换字符串包含'/" 3. 命令中的三根斜线分隔符可以换成别的符号,有时候替换目录字符串的时候有较多斜线,这个时候换成其它的分割符是较为方便,只需要紧跟s定义即

loadrunner获取毫秒及字符串替换实现

loadrunner获取毫秒及字符串替换实现 今天做一个性能测试,参数化要求创建用户名不可以重复,想来想不没有什么好的办法来避免用户名字的重复.所以就想用时间+随机数来实现,但是实现中遇到一个问题. 名字中不可以包含.这个特殊的字符的.所以要处理一下.字符串,于是就想一个C语言实现的字符串替换函数.loadrunner默认没有字符串替换函数,不知道为什么不做呢? (1)毫秒实现方法 通过创建date/time参数,设置格式为:%Y%m%d%H%M%S.000 (2)替换字符串函数 char *s

C#中正则表达式进行忽略大小写的字符串替换

在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式. 要使用正则表达式,首先需要引用命名空间: 以下是引用片段: usingSystem.Text.RegularExpressions; 然后,非常简单,使用: 以下是引用片段: Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase) 就可以达到目的了,其中最后的参数RegexOpt

练习:将下面的alex字符串替换成SB

题目:将下面的alex字符串替换成SB msg = 'hello alex' # 定义变量 msg1 = msg.replace('alex','SB') # 将alex字符串替换成SB print(type(msg1),msg1) 输出结果: <class 'str'> hello SB