java replace替换空格_替换空格-java
题目:
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路
遍历字符串,遇到空格即替换为%20
java程序
/*
问题1:替换字符串,是在原来的字符串上做替换,还是新开辟一个字符串做替换!
问题2:在当前字符串替换,怎么替换才更有效率(不考虑java里现有的replace方法)。
从前往后替换,后面的字符要不断往后移动,要多次移动,所以效率低下
从后往前,先计算需要多少空间,然后从后往前移动,则每个字符只为移动一次,这样效率更高一点。
*/
public class Solution {
public String replaceSpace(StringBuffer str) {
int spaceNum=0;//计算空格数目
for(int i=0;i
if(str.charAt(i)==' ')
spaceNum++;
}
int indexOld=str.length()-1;//替换前str下标
int newLength=str.length()+spaceNum*2;//计算把空格都替换为%20后的str长度
int indexNew=newLength-1;//替换后str下标
str.setLength(newLength);//防止下标越界,将str长度变更为替换后的长度
for(;indexOld>=0&&indexOld
if(str.charAt(indexOld)==' '){
str.setCharAt(indexNew--,'0');
str.setCharAt(indexNew--,'2');
str.setCharAt(indexNew--,'%');
}else{
str.setCharAt(indexNew--,str.charAt(indexOld));
}
}
return str.toString();
}
}
java replace替换空格_替换空格-java相关推荐
- java 极客漫画_漫画:Java如何实现热更新?
Arthas(阿尔萨斯)是 Alibaba 开源的一款 Java 诊断工具,使用它我们可以监控和排查 Java 程序,然而它还提供了非常实用的 Java 热更新功能. 所谓的 Java 热更新是指在不 ...
- Java基础知识体系_计算机与java
Java基础知识体系 (一).计算机与java (二).变量与类型 (三).运算符 (四).流程控制 (五).数组 (一).计算机与java 1,计算机:硬件+软件 硬件:客观存在的各种计算机相关设备 ...
- java获取机器号_(转)JAVA获得机器码的实现
http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码 收藏代码 /** *生成机 ...
- 新手学java 学哪方面_初学者学Java应从哪些方面学习?
原标题:初学者学Java应从哪些方面学习? Java作为应用于网络的最好语言,前景无限看好.然而,就算用Java建造一个不是很烦琐的web应用,也不是件轻松的事情.那么,初学者学Java应从哪些方面学 ...
- java 反射 动态编译_动态编译java源代码和反射调用问题
我从教程中得到了以下代码: package com.tom.labs; import java.io.IOException; import java.lang.reflect.Method; imp ...
- java.sql在哪_我的Java访问MS SQL的程序错在哪了?谢谢!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我用的开发工具是Jbuilder2006, MS SQL SERVER 2000. 源程序是: package data; import java.*; ...
- java hdfs创建文件_使用HDFS java api 创建文件出错。
//创建文件核心代码 public static void createNewHDFSFile(String toCreateFilePath, String content) throws IOEx ...
- java hdfs 新建目录_如何用java在hdfs中创建一个新目录?
public static void main(String[] args) throws IOException, URISyntaxException { ????????????配置config ...
- java 内部类 加载_举例讲解Java的内部类与类的加载器
内部类 class A { //Inner1 要在 A 初始化后 才能使用,即要被A的对象所调用 class Inner1 { int k = 0; // static int j = 0; //A加 ...
最新文章
- 云南大学信息学院c语言实验七,云南大学软件学院C语言程序
- 理论优美的深度信念网络,Hinton老爷子北大最新演讲
- Linux安装卸载mysql
- Redis数据库如何实现读写分离
- 网络基础知识-TCP/IP协议各层详解
- navicat er图没有连线_迁徙图?流向图?城市关系强度图?
- (转) Dockerfile 中的 COPY 与 ADD 命令
- MAC电脑安装window系统(一):双系统安装方法
- Win10下安装GrADS
- android手机内存单位 吉字节,Android8.1 吉字节问题
- 鹅厂假前端实习鹅的实习日志
- shell 下 时间 的傻狍子
- 自定义AXI外设IP核实现流水灯
- oracle 客户端的安装失败,关于安装oracle 11g client 出现安装先决条件检查全部失败...
- android windows 共享文件,安卓手机如何访问电脑局域网共享的文件
- Android patchrom 流程详解
- 德勤加拿大:在Flow链上创建NFT所消耗的能量比人们搜索或发布一个帖子还少
- 基于SPSS Moderler和R语言的数据挖掘宽表处理
- python 两个等长list的各对应位置元素相加+两个字典相加,相同键元素累加,不同键元素取全集
- 也许你会用到的58个硬件面试题!
热门文章
- CentOS 7 U盘安装
- libjpeg:实现jpeg内存压缩暨error_exit错误异常处理和个性化参数设置
- Python判断字符串是否全是数字或者字母
- 计算机键盘键盘一个按键坏了,笔记本的一个按键坏掉了怎么办
- java option请求_面试官:说说你对 options 请求的理解
- 易优cms传奇竞技游戏公司网站模板源码
- 当事与愿违的时候,选择自己心中所想
- 图文详解谷歌Android 7.0的20个新功能
- Python初学者练习题(2)
- 16WiFi为用户投保1000万元“公交WiFi安全责任险”