`
zeyuphoenix
  • 浏览: 57911 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

收集面试题(二十三)(替换字符串)

阅读更多

// 实现replace函数,不要使用字符串搜索替换函数。

public class Replace {

	public static void main(String[] args) {
		String info = "system runs";

		System.out.println(replace(info, "st", "$$"));
	}

	public static String replace(String source, String toReplace, String replace) {

		if (source == null || toReplace == null || replace == null) {
			throw new RuntimeException("null is not allow.");
		}

		if (toReplace.length() > source.length()) {
			throw new RuntimeException("error replace.");
		}
		int length = toReplace.length();
		String temp = "";
		StringBuffer buffer = new StringBuffer("");
		for (int i = 0; i < source.length(); i++) {

			if (i + length > source.length()) {
				temp = source.substring(0, source.length());
			} else {
				temp = source.substring(i, i + length);
			}

			if (temp.equals(toReplace)) {
				buffer.append(replace);
				i = i + length - 1;
			} else {
				buffer.append(source.charAt(i));
			}
		}

		return buffer.toString();
	}
}

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    java面试题收集集锦

    - 字符串操作涉及字符串反转和替换,可以通过StringBuilder或StringBuffer类实现。 - 数据类型转换包括数值型字符与数字的相互转换,以及数字格式化。 - 日期和时间处理常用java.util.Date和java.time包,可以...

    Python面试题汇总

    Python面试题汇总 Python 是如何进行内存管理的? Python 内部使用引用计数机制来保持追踪内存中的对象,所有对象都有引用计数。引用计数增加的情况有:1、一个对象分配一个新名称;2、将其放入一个容器中(如...

    百度面试题大收集算法

    可以将URL字符串转化为哈希值,存储在一个哈希表中,新来的URL如果哈希值已存在则为重复。这种方法快速且有效,但需要注意URL的大小写和URL编码可能带来的影响。 3. **大整数的加减乘除**: 在计算机科学中,大...

    java基础面试题

    Java的基础面试题通常涵盖以下几个核心领域: 1. **Java语法**:面试官可能会询问关于基本语法的问题,如变量声明、数据类型(原始类型与引用类型)、运算符、控制流程(if语句、for循环、while循环)、异常处理...

    JAVA程序员面试题收集.doc

    替换字符串则可以使用`replace()`方法。 - 数据类型转换:例如,`Integer.parseInt()`和`Double.parseDouble()`用于字符串转数字,`Integer.toString()`和`Double.toString()`用于数字转字符串。四舍五入可通过`...

    史上最全Java面试题(带全部答案)

    - `intern()`方法会检查常量池中是否存在该字符串的实例,如果不存在,则会在常量池中创建一个该字符串的实例,并返回对该实例的引用;如果已存在,则返回常量池中该字符串的引用。 #### 十四、`Object`类中的公共...

    Python面试题128.pdf

    - 字符串操作包括查找、替换、分割等。 - 可变类型(如列表、字典)和不可变类型(如字符串、元组)的修改行为不同。 - `is`检查对象标识,`==`检查值是否相等。 - 列表生成式用于快速创建列表,如等差序列。 -...

    2023年Java程序员必考60道Java面试题

    - 字符串连接、子串提取、替换、查找等相关操作是面试中常见的问题。 5. **内存管理**: - Java 使用垃圾收集器自动管理内存,分为堆内存和栈内存。 - 堆内存存储所有对象实例,而栈内存存储基本类型和对象引用...

    腾讯php面试题解析

    - **ereg_replace** (已废弃):用于替换字符串中与正则表达式匹配的部分,不区分大小写。 - **preg_replace**:根据正则表达式来替换文本。它可以使用更多的替换选项,例如限制替换次数。 #### 二、safe_mode 的...

    110道Python面试题

    - re模块提供正则表达式匹配,用于字符串搜索、替换等操作。 - math模块包含了数学运算相关的函数和常量,如三角函数、对数等。 - datetime模块用于处理日期和时间,可以方便地获取和操作时间数据。 3. 全局变量...

    java经典面试题

    ### Java经典面试题知识点梳理 #### J2SE基础 1. **九种基本数据类型的大小,及其封装类**: - Java提供了八种基本数据类型(`byte`, `short`, `int`, `long`, `float`, `double`, `boolean`, `char`),每种类型...

    java面试题答案——面试经典

    - 替换字符串:Java提供`String`类的`replaceAll()`方法实现字符串的替换。 3. **数据类型转换**: - 数值型字符转换为数字:使用`parseInt()`或`parseDouble()`方法。 - 数字转换为字符:数字加空字符串转换,...

    互联网 大厂Java 工程师面试题.pdf

    3. **#{}和${}**:#{}用于预编译,防止SQL注入,${}则是简单的字符串替换,存在SQL注入风险。 4. **实体类属性与表字段不一致**:可以使用`@Column`注解指定字段映射关系。 5. **模糊查询like**:使用`%`通配符,...

    史上最全的iOS面试题及答案

    - **copy**:对于字符串,`copy`属性会创建一个字符串的副本,适用于不可变字符串如`NSString`。 - **strong**:对于`NSString`对象,使用`strong`与`copy`效果相同,但对于可变字符串如`NSMutableString`,则应使用...

    java常用面试题及答案

    在这种情况下,`s2`在编译时优化为常量池中的"ab",而`s5 = s3 + s4`会在运行时创建一个新的字符串对象,因此`s5 != s2`,返回`false`。 3. **final, finalize, finally的区别** - `final`:修饰符,用于声明变量...

    千方百计的面试题

    至于编程题中的字符串反转及替换、编码转换、字符串分隔、打印昨天的当前时刻等,这些都是基础的字符串处理和时间处理操作,实际编码中常会用到。 最后,java和javascript虽然名字相似,但它们是完全不同的编程语言...

    学会这些java面试题让你吊打面试官

    `String`类中没有`length`属性,只有`length()`方法,用于返回字符串的字符数量。 10. **==与equals的区别** `==`比较的是对象的引用,即判断两个变量是否指向内存中的同一个对象。而`equals()`方法用于比较对象...

Global site tag (gtag.js) - Google Analytics