字符串替换

题目描述

请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。

给定一个字符串A,同时给定它的长度n及参数字符数组arg和它的大小m,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。

测试样例:
"A%sC%sE",7,['B','D','F']
返回:"ABCDEF"解题利用StringBuilder 或者 StringBuffer 
import java.util.*;public class StringFormat {public String formatString(String A, int n, char[] arg, int m) {// write code hereStringBuilder sb = new StringBuilder();int i = 0;int k = 0;while(i < A.length()){char ch = A.charAt(i);if(ch == '%'){sb.append(arg[k++]);i+=2;}else{sb.append(ch);i++;}}while(k<m){sb.append(arg[k++]);}return sb.toString();}
}

利用正则

import java.util.*;public class StringFormat {public String formatString(String A, int n, char[] arg, int m) {// write code hereStringBuilder sb = new StringBuilder();int i = 0;int k = 0;while( A.indexOf("%s") >= 0){A = A.replaceFirst("%s",""+arg[k++]);}while(k<m){A += arg[k++];}return A;}
}

 

转载于:https://www.cnblogs.com/theskulls/p/5384009.html

2016去哪儿编程题:字符替换相关推荐

  1. 2016去哪儿编程题:乘坐公交

    题目描述 从小明家所在公交站出发有n路公交到公司,现给出每路公交的停站数(不包括起点和终点),及每次停的时间(一路车在每个站停的时间相同)和发车的间隔,先假定每辆车同时在相对时间0分开始发车,且所有车 ...

  2. 网易2016研发工程师编程题--完全解析

    前言 之前做公司的真题,碰到动态规划,还有一些数学性质的题目比较多一点.网易2016研发工程师编程题跟之前做的题目有很大的不同,不仅涉及到二叉树的编码,还涉及到图的广度遍历,最后还有一个快排.可以说这 ...

  3. 牛客网--蘑菇街2016研发工程师编程题

    牛客网--蘑菇街2016研发工程师编程题 第一题: 搬圆桌 时间限制:1秒 空间限制:32768K 现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1).每次移动一步 ...

  4. 血型遗传检测(pair原来没有先后顺序)----去哪儿2016研发工程师编程题

    [编程题] 5-血型遗传检测 血型遗传对照表如下: 父母血型 子女会出现的血型 子女不会出现的血型 O与O O A,B,AB A与O A,O B,AB A与A A,O B,AB A与B A,B,AB, ...

  5. 股票交易日(动态规划)----美团2016研发工程师编程题(二)

    [编程题] 股票交易日 在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行).给出一天中的股票变化序列,请写一个程序计算 ...

  6. 算法面试题-美团点评2016研发工程师编程题(二)-字符编码(哈夫曼树)

    题目: 解析:这个题目的关键问题是"最短的编码",这里可以知道应该是Huffman编码了. 哈夫曼编码是一种可变字长编码,也就是说对于不同的字符的编码不是定长的,所以才能比定长编码 ...

  7. C语言去括号编程题,数据结构课件.ppt

    <数据结构课件.ppt>由会员分享,可在线阅读,更多相关<数据结构课件.ppt(750页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构,2 数据结构题集 ( C语言版) ...

  8. [编程题] 字符迷阵

    字符迷阵是一种经典的智力游戏.玩家需要在给定的矩形的字符迷阵中寻找特定的单词. 在这题的规则中,单词是如下规定的: 1. 在字符迷阵中选取一个字符作为单词的开头: 2. 选取右方.下方.或右下45度方 ...

  9. 网易2016研发工程师编程题 - 题解

    题目链接: 第一部分,点这儿: 第二部分,点这儿. 第一题:小易的升级之路 题目: 小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依 ...

最新文章

  1. SAP WM中阶Storage Type的Capacity Check – Check based on palletization according to SUT 1
  2. IE6页面最小宽度的设置方法
  3. 安装vmware esx4.1
  4. python执行外部命令或URL
  5. python滚动条_python中selenium操作下拉滚动条的几种方法汇总
  6. java 单例模式打包jar_在 Spark 中实现单例模式的技巧
  7. 初识openstack
  8. Vue之Vue.set动态新增对象属性
  9. WordPress百度快速提交插件-加速百度爬虫和收录
  10. XAMPP:访问phpmyadmin出错的解决方案
  11. java schema 验证_java实现的XMLschema验证是什么?
  12. LINUX C系统编程与PYTHON中的时间模块对比
  13. ajax--跨域问题及三种简单的解决方案
  14. python开发软件的实例-如何编写Python软件开发文档(7个技巧)
  15. java 如何查询数据库_java怎么查询数据库
  16. 开心消消乐、纯前端实现开心消消乐、开心消消乐代码、HTML+JS实现开心消消乐
  17. 二叉树非递归遍历(c语言)
  18. 小米手机隐私相册在哪?将你的照片锁进“保险柜”
  19. vue图片裁剪:使用vue-cropper做图片裁剪
  20. mint-ui引用iconfont图标

热门文章

  1. Dart核心语言基础const关键字与final关键字的区别
  2. Android基础常用日期操作工具类
  3. 关于Web面试的基础知识点--Html+Css(四)
  4. Nginx+Tomcat搭建集群环境
  5. Spring事务管理全面分析
  6. dropload.min.js 下拉刷新后,无法上拉加载更多
  7. 安装pycharm软件后,打开robot framework怎么默认用pycharm打开
  8. Centos 6.5 X64 环境下编译 hadoop 2.6.0 --已验证
  9. neu1250矩阵快速幂哪~~
  10. 转 程序员学习的革命-如何使用大脑