昨天看到jive方法里面的String替换的方法,感觉哪里面实现的比较繁琐,看看一个简单的方法。但效率的话我还没有比较。
public static String replaceAll(final String original, final String pattern, final String value) {
String copy = new String(original);
int index = -1;
while ((index = copy.indexOf(pattern, index)) > -1) {
copy = copy.substring(0, index) + value + copy.substring(index + pattern.length()); //相当于每一次都是由源串的前一部分加上要替换的新串再加上后面的部分。
index += value.length();
}
return copy;
}
还有,假如我们要实现一个功能,大写一句话里面的首字母,看看下面的方法实现:
public static String capitalize(final String original, final char separator) {
String str = null;
if (original == null || original.length() == 0) {
return str;
}
str = original.toLowerCase();
int strLen = str.length();
StringBuffer buffer = new StringBuffer(strLen);
boolean capitalizeNext = true;
for (int i = 0; i < strLen; i++) {
char ch = str.charAt(i);
boolean isSeparator = (ch == separator);
if (isSeparator) {
buffer.append(ch);
capitalizeNext = true;
} else if (capitalizeNext) {
buffer.append(Character.toTitleCase(ch));
capitalizeNext = false;
} else {
buffer.append(ch);
}
}
return buffer.toString();
}
// 效果:Orignal: we are success. separator: " " newString: We Are Success.
现在我只实现了单个字符分割的情况,有时间的话研究一下,多个字符分割的情况.同样这只是一个练习,在平时使用的过程中还没有碰到一句话里面每个字母都大写的。
分享到:
相关推荐
类似于Java或Python中的split方法,`StringUtil`可能提供了一个功能,可以将一个字符串按照指定的分隔符拆分成一个字符串数组。这在处理CSV数据、日志文件或者任何基于特定分隔符的数据格式时非常有用。例如,你...
本项目名为"C语言实现String字符串及其函数stringUtil",主要关注的是如何在C语言环境中自定义处理字符串的函数,以扩展标准库中提供的功能。通过分析`stringUtil.c`源代码和`stringUtil.h`头文件,我们可以了解一些...
`toLowercase`和`toUppercase`方法可以方便地进行大小写的转换,而在`StringUtil`中,它们可能会有更高效的实现。 7. **检查与验证**: 类中还可能包含一些检查方法,如`isEmpty`检查字符串是否为空,`...
String Util则专注于字符串的操作,它包含了许多实用的方法,帮助开发者进行字符串的拼接、分割、替换、校验等。在Java标准库中,`java.lang.String`类已经提供了很多基本操作,但有时我们需要更复杂的功能,比如...
在`StringUtil.cs`文件中,你可以找到这些方法的具体实现,了解其内部的工作原理,以便更好地利用它们来优化你的代码。学习和理解这些自定义字符串操作,不仅能提高代码的可读性和可维护性,还能提升程序性能。在...
StringUtil 概述 该库提供了一个一致的自我解释层来完成与字符串相关的任务。 讲方法的名称使字符串操作更易读,并清楚地表明意图。 请比较以下有关可读性的常见摘录: // Native: if (strpos($log, 'failure') !...
本篇文章将详细介绍如何在Android中使用Base64来实现文件与String之间的相互转换。 一、Base64编码原理 Base64是一种基于64个字符的编码方法,这些字符包括大小写字母、数字以及"+"和"/",还有一个用于填充的字符"=...
### jsp判断list是否包含string的实现方法 在JavaServer Pages (JSP) 开发过程中,经常需要处理列表(list)中的数据,并判断一个特定的字符串(string)是否存在于这个列表中。虽然JSP自带的标签库(JSTL)提供了...
Java 实现字符串转 String 数组的方法示例 Java 实现字符串转 String 数组的方法是java编程中常见的操作,下面我们将详细介绍这种方法的实现。 字符串遍历 在 Java 中,字符串是一种特殊的对象,我们可以使用循环...
`Util.java`中的公共方法覆盖了日期时间处理、字符串操作、分页逻辑和一些数学运算等功能,是Java开发中不可或缺的一部分。通过封装这些通用操作,不仅提高了代码的可读性和维护性,也极大地简化了日常的编程工作,...
最后,`ObjectUtil`工具类通常包含一些通用的面向对象的辅助方法,例如,`equals()`和`hashCode()`的实现可以帮助我们快速比较两个对象是否相等,`clone()`可以实现对象的浅拷贝或深拷贝,`isNull()`和`isNotNull()`...
在Java编程语言中,经常需要将`List<String>`类型的数据转换为`String[]`数组类型,以便于进行某些特定的操作或适应某些方法的要求。本文将详细探讨这一转换过程,并通过几个具体的示例来帮助理解。 #### 一、基础...
例如,可能会有`StringUtil`来处理字符串,`DateTimeUtil`用于日期时间的格式化和比较,`MathUtil`执行复杂的数学运算,`FileUtil`协助文件的读写操作,以及`HttpClientUtil`处理HTTP请求等。 2. **MJ.Util....
这个库的源码在`textlint-util-to-string-master`文件中,包含了项目的源文件、测试用例以及可能的文档和配置文件,供开发者研究和学习其内部实现机制。 总之,textlint-util-to-string是一个在前端开发中用于辅助...
4. **异步计算**:在处理大量数据或大文件时,为了提高效率,MD5Util可能支持异步计算MD5值,使用线程池或者Java 8的CompletableFuture来实现。 5. **性能优化**:考虑到MD5计算的性能,MD5Util可能做了缓存优化,...
在这个例子中,`DateComparator`类实现了`Comparator<String>`接口,并重写了`compare()`方法。它使用`SimpleDateFormat`来解析日期字符串,并将解析后的日期对象进行比较。这样,无论输入的日期字符串格式如何,...
Java util包是Java语言中一个实用的工具类库,提供了许多有用的方法和数据结构。下面将逐一介绍其中几个重要的类。 日期类Date Java中的日期类封装了有关日期和时间的信息,用户可以通过调用相应的方法来获取系统...
总之,`String`与JSON之间的转换是常见的操作,Java提供了多种库来实现这一功能。`org.json`库提供了简单的API,而`Gson`库则提供了更强大的序列化和反序列化功能。选择哪种库取决于你的具体需求和项目环境。