精华内容
下载资源
问答
  • IOS 字符串按顺序替换

    2017-04-05 08:03:31
    例如我有一个字符串@"sdrbakkbadrrrba" 想把 第一个ba->01 第二个ba->02 第三个ba->03 请问各位大神,有什么好的方法吗?
  • * 题目:给定一个字符串(只包含小写英文字母),按顺序执行以下两条规则,输出计算后的字符串。 * <p> * 规则 1:对于连续顺序4位及以上的字母,中间使用“~”替换。 * 例如:ahhhhhh...
    package com.yinhai.onehour; // 包路径不可修改!!!
    
    import java.util.*;  //只能使用最高1.8版本JDK提供的API
    
    /**
     * 题目:给定一个字符串(只包含小写英文字母),按顺序执行以下两条规则,输出计算后的字符串。
     * <p>
     * 规则 1:对于连续顺序4位及以上的字母,中间使用“~”替换。
     * 例如:ahhhhhhbcdefko, 替换后为ahhhhhhb~fko。
     * <p>
     * 规则2:对于连续重复出现3个及以上的字母,以该字母+重复的个数替换。
     * 例如:ahhhhhhbcdefko,替换后为ah6bcdefko。
     * <p>
     * 总体示例:
     * 输入字符串为:ahhhhhhbcdefko     结果为:ah6b~fko
     * 输入字符串为:ahhhhhhbcdefko     结果为:ah6b~fko
     * 输入字符串为:ammmmmnopqko       结果为:am5~qko
     * 输入字符串为:abcdefffffadfasdfa 结果为:a~f5adfasdfa
     * 输入字符串为:mnopqqqrstabs      结果为:m~q3~tabs
     * 输入字符串为:xyzabcd 			  结果为:xyza~d
     * <p>
     * 提示:
     * 1. 规则按规则1,规则2顺序执行。先执行1,后执行2。
     * 2. 请注意边界值的考虑,注意连续出现条件匹配的情况。
     * 3. 请注意字符串拼接的性能消耗。
     * 4. 请先花一定时间理清思路在再编写代码。
     * 5. 可以试着把上面总体实例中的例子跑正确后再提交。
     */
    public class Template { //类名不可修改!!!
    	/**
    	 * 程序逻辑请在该方法中完成
    	 * <p>
    	 * 注意:
    	 * 1. 方法名、参数个数及类型不可更改,只可修改函数体!!!
    	 * 2. 提交文件时,保证包路径package com.yinhai.onehour
    	 *
    	 * @param inData 参数 验证程序通过该参数传入字符串
    	 * @return 返回值 验证程序通过该返回值验证程序正确性
    	 */
    	public String methodTest(String inData) {
    		String outData = "";
    		outData+=rule1(inData);
    		outData=rule2(outData);
    		// outData = myMethod(inData); // 可添加自己的函数
    		return outData;
    	}
    
    	private String rule1(String inData) {
    		StringBuilder outData =new StringBuilder();
    		for (int i = 0; i < inData.length(); i++) {
    			int begin = i;
    			//起始字母
    			char begin_char = inData.charAt(begin);
    			//判断是否是最后一个字母 和 是否是连续4个字母
    			while (begin + 1 < inData.length() && inData.charAt(begin + 1) - begin_char == 1) {
    				begin_char = inData.charAt(begin + 1);
    				begin++;
    			}
    			//出现连续4个字符替换,否则不变
    			if (begin - i >= 3) {
    				outData.append(inData.charAt(i) + "~" + inData.charAt(begin));
    				i = begin;
    			} else {
    				outData.append(inData.charAt(i));
    			}
    		}
    		return outData.toString();
    	}
    
    
    	private String rule2(String inData) {
    		StringBuilder outData = new StringBuilder();
    		for (int i = 0; i < inData.length(); i++) {
    			int begin = i;
    			//起始字母
    			char begin_ch = inData.charAt(begin);
    			//判断是否是最后一个字母 和 连续3个字母是否相同
    			while (begin + 1 < inData.length() && inData.charAt(begin + 1) - begin_ch == 0) {
    				begin_ch = inData.charAt(begin + 1);
    				begin++;
    			}
    			//当连续3个字母相同时替换,否则不变
    			if (begin - i >= 2) {
    				outData.append(inData.charAt(i) + "" + (begin - i + 1)) ;
    				i = begin;
    			} else {
    				outData.append(inData.charAt(i));
    			}
    		}
    		return outData.toString();
    	}
    
    	/**
    	 * 可修改,验证自己的答案
    	 *
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		List<String> inDatas = new ArrayList<>();
    		inDatas.add("ahhhhhhbcdefko");
    		inDatas.add("ahhhhhhbcdefko");
    		inDatas.add("ammmmmnopqko");
    		inDatas.add("abcdefffffadfasdfa");
    		inDatas.add("mnopqqqrstabs");
    		inDatas.add("xyzabcd");
    
    		List<String> outDatas = new ArrayList<>();
    		outDatas.add("ah6b~fko");
    		outDatas.add("ah6b~fko");
    		outDatas.add("am5~qko");
    		outDatas.add("a~f5adfasdfa");
    		outDatas.add("m~q3~tabs");
    		outDatas.add("xyza~d");
    
    		// 用于自己校验结果
    		Template template = new Template();
    		long startTime = System.currentTimeMillis();
    
    		for (int i = 0;i < inDatas.size();i++) {
    			String result = template.methodTest(inDatas.get(i));
    			System.out.println(result.equals(outDatas.get(i)));
    		}
    
    		long endTime = System.currentTimeMillis();
    		System.out.println("耗时(毫秒):" + (endTime - startTime));
    	}
    }
    
    
    展开全文
  • 顺序替换【C语言】

    2019-11-30 18:30:31
    顺序替换【C语言】 题目: __编写一个函数将顺序串s1中的第i个字符到第j个字符之间的字符用顺序串s2串代替。 __ 时间复杂度为任意 空间复杂度为任意 代码: ...

    顺序串替换【C语言】

    题目:

    __编写一个函数将顺序串s1中的第I个字符第J个字符之间的字符用顺序串s2串代替。
    __

    时间复杂度为任意空间复杂度为任意
    代码:
    /*3-3*/
    #include <stdio.h>
    #include <stdlib.h>
    #define size 40
    int num=0;
    typedef struct
    {
        char ch[size];
        int len;
    }Seqstring;
    void Create(Seqstring *S)
    {
        int i;
        for(i=0;i<S->len;i++)
        {
            scanf(" %c",&S->ch[i]);
        }
    }
    void view(Seqstring S)
    {
        if(S.len==0)
        {
            printf("该串为:空\n");
            return;
        }
        printf("该串为:");
        int i=0;
        for(i=0;i<S.len;i++)
        {
            printf("%c",S.ch[i]);
        }
        printf("\n");
    }
    void Replace(Seqstring *S,Seqstring *s,int i,int j)
    {
        if(j-i+1!=s->len)
        {
            return;
        }
        int t;
        int k=0;
        for(t=i;t<=j;t++)
        {
            S->ch[t]=s->ch[k];
            k++;
        }
    }
    int main()
    {
        Seqstring s1;
        printf("请您输入--串s1的长度:\n");
        scanf(" %d",&num);
        s1.len=num;
        printf("请您输入--串s1\n");
        Create(&s1);
        view(s1);
        Seqstring s2;
        printf("请您输入--串s2的长度:\n");
        scanf(" %d",&num);
        s2.len=num;
        printf("请您输入--串s2\n");
        Create(&s2);
        view(s2);
        printf("开始进行替换...\n");
        printf("请您输入--开始替换的字符位置:\n");
        int I;scanf("%d",&I);
        printf("请您输入--结束替换的字符位置:\n");
        int J;scanf("%d",&J);
        Replace(&s1,&s2,I-1,J-1);
        printf("显示s1:\n");
        view(s1);
        printf("hello world!\n");
        return 0;
    }
    

    运行情况:
    请您输入--串s1的长度:
    5
    请您输入--串s1
    abcde
    该串为:abcde
    请您输入--串s2的长度:
    2
    请您输入--串s2
    xx
    该串为:xx
    开始进行替换...
    请您输入--开始替换的字符位置:
    1
    请您输入--结束替换的字符位置:
    2
    显示s1:
    该串为:xxcde
    hello world!
    Program ended with exit code: 0
    
    Copyright © 2019 wyq. All rights reserved.
    展开全文
  • mysql将id1,2,3,4...顺序替换

    千次阅读 2014-02-21 14:42:19
    update jf_p_skillset set SKILLID=(@t:=@t+1);

    SELECT @t:=0;# 行数: 1(或许用到此行)

    update jf_p_skillset set SKILLID=(@t:=@t+1);

    展开全文
  • 缓存技术是提高存储性能最有效的技术之一,在存储系统中得到了广泛应用.由于缓存容量有限,替换算法在缓存策略中占据了重要地位....针对这一问题,本文提出了一种基于顺序检测的双队列缓存替换算法:本算法优先淘汰缓
  • c语言 宏替换顺序

    千次阅读 2014-09-24 12:22:39
    替换顺序,这是以前在论坛里看到的一个问题,因此整理下来供自己学习和参考,测试程序hello.c:

    宏替换顺序,这是以前在论坛里看到的一个问题,因此整理下来供自己学习和参考,测试程序hello.c:

    #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h> 
      
    #define _ToStr(x) #x 
    #define __ToStr(x) _ToStr(x) 
    #define Japan_EarthQuake 9.0 
      
    int main() 
    { 
        printf("_ToStr:%s\n",_ToStr(Japan_EarthQuake); 
        printf("__ToStr():%s\n",__ToStr(Japan_EarthQuake); 
        return 0; 
    }

    在mingw下编译得到hello.out,运行后得到结果如下:

    定义两层的原因是(传入的参数可能是宏也可能是普通字符串):

    (1)预处理顺序:总是先将" "内的东西识别为字符串,再进行宏替换或宏参数替换,即" "内的宏名或宏参数名不被替换。

    (2)#用来给宏参数加引号。对于将表达式转化为包含这个表达式的字符串的需求,可将这个表达式定义成宏的参数exp,在宏内部用#exp来给表达式加引号。

    (3)宏替换顺序:一个宏的参数是另一个宏,先替换外面的宏,后替换参数。因此#define _ToStr(x) #x以后_ToStr(a+b)相当于"a+b",而#define X a+b 再_ToStr(X)的结果相当于"X"——先替换外面的宏,给X加了引号,再替换里面的宏,对" "内的宏名不替换。

    (4)宏替换顺序:一个带参数的宏内部调用另一个宏,参数也是一个宏,则先替换外层的宏,再替换外层宏的参数,最后替换内层宏。因此采用两层转换之后,外边的宏先被替换了,但没有完全展开,然后参数被替换了(保证参数是宏时被展开),最后外边的宏展开。

    展开全文
  • c语言中宏替换时的顺序

    千次阅读 2013-06-16 00:10:16
    替换顺序,这是以前在论坛里看到的一个问题,因此整理下来,供自己学习和参考: 测试程序hello.c: #define _ToStr(x) #x #define __ToStr(x) _ToStr(x) #define Japan_EarthQuake 9.0 int ...
  • 其中,S表示主串,为顺序串结构体,i表示被替换子串的开始位置(从1开始),j表示被替换子串的字符个数,T表示要替换的字符串。 提示:替换操作可以拆分成先删除,后插入两个步骤。可以先分别实现删除deleteString和...
  • c语言 顺序表的基本操作(创建、初始化、赋值、插入、删除、查询、替换、输出) 1、创建、申请空间 2、初始化、顺序表数据结构大小、长度 3、赋值、顺序表数据结构赋值 4、插入、在指定位置插入数据,后续数据...
  • 原题:用串的顺序存储结构实现串替换操作Replace(&S,T,V)。 分析:替换操作,操作结果为以串V替换所有在串S中出现的和非空串T相等的不重叠子串。用文件originalstr.txt存储原来的字符串,laterstr.txt文件存储修改后...
  • C/C++宏的替换顺序[整理总结]

    千次阅读 2012-04-20 10:52:21
    关于宏替换顺序 看过csdn50楼的帖子 : http://topic.csdn.net/u/20090727/18/457c61bd-7461-431c-bbf9-924865cfe43c.html 之后的 总结   总结:    不管书写的代码是不是跨平台的,当替换路径中...
  • # 数字0-9从小到大顺序变成RIZBHGECFO,替换完成后在第5个字符后面加KAF $mobile = str_replace("0", "R", $mobile); $mobile = str_replace("1", "I", $mobile...
  • php函数传参问题--按顺序传入的

    千次阅读 2018-11-03 15:41:14
    和python的缺省参数和不定长参数是有很大的区别的 function test($a,$b=2) { ...这里可以看出,php传参的时候,是不看调用函数里的变量名的,按顺序传,就是替换参数的顺序是从左到右 test(1,3) //13 test(1)...
  • 修改完这个比较器后,就可以实现按顺序进行打印了,接下来我们要对这个排好序的文件进行重命名,以便我在Linux下对这些文件进行顺序读取,这些文件其实是点云文件,本来就是时间顺序进行排序的。 这里会使用到...
  • js 字符串替换数组元素一 一对应

    千次阅读 2017-11-13 21:06:54
    请问怎么才能用数组按顺序替换掉{}里的内容,变成abcdefghijkl 注意实际情况是数组的长度是未知的,也就是说正则匹配到的个数是未知的。 解决方案: var str = 'abc{xdf}efg{dfg}ijk
  • 用v串替换s串中与t串相同的字串(定长顺序法)
  • 牛客OJ:之字形顺序打印二叉树 九度OJ:未收录 GitHub代码: 061-之字形顺序打印二叉树 CSDN题解:剑指Offer–061-之字形顺序打印二叉树 牛客OJ 九度OJ CSDN题解 GitHub代码 061-之字形顺序...
  • Django学习系列之五:Django 的模板的render替换render_to_string用法及templates模板查找路径顺序 1.Django 的模板的render替换render_to_string from djangon.shortcut import reder #from django.template.loader...
  • String rs = "...使正则表达式[^\\d]将非数字都替换掉   String s = "ss12sada3ee"; Pattern p = Pattern.compile("\\d{1,}"); Matcher m = p.matcher(s)...
  • 使用org.json的类库,在一个JSONObject中逐个加入key & value,最后toString()输出时,发现key / value 的顺序是无序的。原因是其中的实现是用HashMap来存储key / value。 要使输出是有序的,可以用LinkedHashMap...
  • 顺序

    千次阅读 多人点赞 2019-11-06 08:49:33
    顺序表是什么呢? 顾名思义,顺序表是物理地址连续的存储单元依次存储数据的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。 顺序表和数组有什么区别呢? 顺序表比数组更约束,顺序表物理地址上...
  • 要做成xml加密解密的,现在双引号里面的加密的,已经有了解密方法,怎么才能调用解密方法一个个替换
  • 字符串替换

    千次阅读 2016-10-01 17:01:19
    原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。 给定一个字符串A,同时给定它的长度n及参数字符数
  • 通过层叠顺序结构的右键快捷菜单选项“替换替换为平铺式顺序”,可以将层叠式顺序结构转换为平铺式顺序结构。如果层叠顺序结构有局部变量,则转换成数据连线,如图1所示。  图1 层叠式顺序结构转换为平铺式...
  • 顺序

    万次阅读 多人点赞 2016-12-31 18:06:39
    1,UML顺序图一般用于确认和丰富一个使用情境的逻辑。 2,一个使用情境的逻辑或是一个用例的一部分;或是一条扩展路径;或是一个贯穿单个用例的完整路径,例如动作基本过程的逻辑描述;或是动作的基本过程的一部分再...
  • 例如有这样一个字符串字符串:用户[$xx$]的名称[$xx$]原值为[$xx$]。...[$xx$]的个数1到5个不定,我需要替换$xx$,有什么方法可以替换指定的第几个$xx$,或者按顺序每次替换下一个$xx$也可以,求方法
  • 串的基本操作定长顺序存储表示:初始化串、复制串、判断串是否为空、比较两个字符串、计算字符串长度、清空串、连接串、找子串、模式匹配、替换子串、插入和删除子串
  • 不修改Django源码让admin中的...Django的admin管理后台一直是一个很强大的工具,但是有一个让人很不爽的地方就是model列表的显示顺序model名字来的,如果是英文字母顺序还比较好找,如果是中文则是完全无序了,一

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 490,601
精华内容 196,240
关键字:

按顺序替换