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加 ...
最新文章
- Apache 2.4配置反向代理
- 对互联网中常见地图的坐标系探讨
- 当深度学习遇上图: 图神经网络的兴起!
- php 弹出下载,php文件下载,不弹出下载框怎么破
- 2022年IT热门能力
- 13个大数据应用案例,告诉你最真实的大数据故事
- 蓝牙调试工具如何使用_更新:使用此有价值的工具改进您的蓝牙项目
- python 图片文字转换成word_如何把图片文字转换成word文字?
- 2016.12.30非线性优化计算方法1
- Zynq UltraScale+ MPSoC配置DDR4参数
- 深入分析 Spring 基于注解的 AOP 实现原理
- 微信原生组件|基于小程序实现音视频通话
- thinkpad t480 简介文章
- 未能找到下列包文件: C:\Users\Administrator\Desktop\DotNetFX40\dotNetFx40LP_Full_x86_x64zh-Hans.exe
- 【复杂网络】网络级联模型
- 什么才是市场急需的前端工程师?【零基础web前端入门视频教程】
- hibernate QBC和QBE精讲与案列分析(中)
- C语言typedef函数指针用法
- 【洛谷题解】P5734 【深基6.例6】文字处理软件(C语言)
- PCA:从入门到入土到入神
热门文章
- 如何在阿里云服务器(centos7)安装、卸载mysql数据库
- 浏览器title中加图标
- Android NFC标签 开发深度解析 触碰的艺术
- 无法上网dns转发_从DoH到ODoH,运营商再也不能搞DNS劫持了
- 文件夹中不显示SolidWorks缩略图的解决办法
- 华为手机备忘录编辑内容误删一段文字怎么恢复
- 财经计算机财务函数,19个常用财务Excel函数公式,轻松搞定一半的工作,值得收藏...
- Redis为什么是单线程、及高并发快的大原因详解
- C#编写的一款读取xml文件的mapping图软件。 可以自由定位位置,统计数量,蛇形走位
- 微信小程序出现400或者403错误。