java对字符处理(三)-- 字符串工具箱
- 博客分类:
- 技术杂绘
package com.tw.str.util; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Properties; /** * 字符串工具箱 * @author tw 2009-07-16 */ public final class StringToolkit { /** * 将一个字符串的首字母改为大写或者小写 * * @param srcString 源字符串 * @param flag 大小写标识,ture小写,false大些 * @return 改写后的新字符串 */ public static String toLowerCaseInitial(String srcString, boolean flag) { StringBuilder sb = new StringBuilder(); if (flag) { sb.append(Character.toLowerCase(srcString.charAt(0 ))); } else { sb.append(Character.toUpperCase(srcString.charAt(0 ))); } sb.append(srcString.substring(1)); return sb.toString(); } /** * 将一个字符串按照句点(.)分隔,返回最后一段 * * @param clazzName 源字符串 * @return 句点(.)分隔后的最后一段字符串 */ public static String getLastName(String clazzName) { String[] ls = clazzName.split("\\."); return ls[ls.length - 1]; } /** * 格式化文件路径,将其中不规范的分隔转换为标准的分隔符,并且去掉末尾的"/"符号。 * * @param path 文件路径 * @return 格式化后的文件路径 */ public static String formatPath(String path) { String reg0 = "\\\\+"; String reg = "\\\\+|/+"; String temp = path.trim().replaceAll(reg0, "/"); temp = temp.replaceAll(reg, "/"); if (temp.endsWith("/")) { temp = temp.substring(0, temp.length() - 1); } if (System.getProperty("file.separator").equals("\\") ) { temp= temp.replace('/','\\'); } return temp; } /** * 格式化文件路径,将其中不规范的分隔转换为标准的分隔符,并且去掉末尾的"/"符号(适用于FTP远程文件路径或者Web资源的相对路径)。 * * @param path 文件路径 * @return 格式化后的文件路径 */ public static String formatPath4Ftp(String path) { String reg0 = "\\\\+"; String reg = "\\\\+|/+"; String temp = path.trim().replaceAll(reg0, "/"); temp = temp.replaceAll(reg, "/"); if (temp.endsWith("/")) { temp = temp.substring(0, temp.length() - 1); } return temp; } public static void main(String[] args) { System.out.println(System.getProperty("file.separa tor")); Properties p = System.getProperties(); System.out.println(formatPath("C:///\\xxxx\\\\\\\\ \\///\\\\R5555555.txt")); // List result = series2List("asdf | sdf|siii|sapp|aaat| ", "\\|"); // System.out.println(result.size()); // for (String s : result) { // System.out.println(s); // } } /** * 获取文件父路径 * * @param path 文件路径 * @return 文件父路径 */ public static String getParentPath(String path) { return new File(path).getParent(); } /** * 获取相对路径 * * @param fullPath 全路径 * @param rootPath 根路径 * @return 相对根路径的相对路径 */ public static String getRelativeRootPath(String fullPath, String rootPath) { String relativeRootPath = null; String _fullPath = formatPath(fullPath); String _rootPath = formatPath(rootPath); if (_fullPath.startsWith(_rootPath)) { relativeRootPath = fullPath.substring(_rootPath.length()); } else { throw new RuntimeException("要处理的两个字符串没有包含关系,处理失败!"); } if (relativeRootPath == null) return null; else return formatPath(relativeRootPath); } /** * 获取当前系统换行符 * * @return 系统换行符 */ public static String getSystemLineSeparator() { return System.getProperty("line.separator"); } /** * 将用"|"分隔的字符串转换为字符串集合列表,剔除分隔后各个字符串前后的空格 * * @param series 将用"|"分隔的字符串 * @return 字符串集合列表 */ public static List series2List(String series) { return series2List(series, "\\|"); } /** * 将用正则表达式regex分隔的字符串转换为字符串集合列表,剔除分隔后各个字符串前后的空格 * * @param series 用正则表达式分隔的字符串 * @param regex 分隔串联串的正则表达式 * @return 字符串集合列表 */ private static List series2List(String series, String regex) { List result = new ArrayList(); if (series != null && regex != null) { for (String s : series.split(regex)) { if (s.trim() != null && !s.trim().equals("")) result.add(s.trim()); } } return result; } /** * @param strList 字符串集合列表 * @return 通过"|"串联为一个字符串 */ public static String list2series(List strList) { StringBuffer series = new StringBuffer(); for (String s : strList) { series.append(s).append("|"); } return series.toString(); } /** * 将字符串的首字母转为小写 * * @param resStr 源字符串 * @return 首字母转为小写后的字符串 */ public static String firstToLowerCase(String resStr) { if (resStr == null) { return null; } else if ("".equals(resStr.trim())) { return ""; } else { StringBuffer sb = new StringBuffer(); Character c = resStr.charAt(0); if (Character.isLetter(c)) { if (Character.isUpperCase(c)) c = Character.toLowerCase(c); sb.append(resStr); sb.setCharAt(0, c); return sb.toString(); } } return resStr; } /** * 将字符串的首字母转为大写 * * @param resStr 源字符串 * @return 首字母转为大写后的字符串 */ public static String firstToUpperCase(String resStr) { if (resStr == null) { return null; } else if ("".equals(resStr.trim())) { return ""; } else { StringBuffer sb = new StringBuffer(); Character c = resStr.charAt(0); if (Character.isLetter(c)) { if (Character.isLowerCase(c)) c = Character.toUpperCase(c); sb.append(resStr); sb.setCharAt(0, c); return sb.toString(); } } return resStr; } }
发表评论
-
javascript中的正则表达式
2012-07-06 09:45 557javascript中的正则表达式要包含在两个" ... -
看实例学php正则表达式
2012-07-06 09:37 583首先,让我们看看两个特别的字符:'^' 和 '$' 他们是 ... -
跟我一起学MiniOA:第一章 1.4 Richfaces控件(连载)
2012-07-06 09:30 740本小节内容请参见R ... -
frameset里一个frame中获取下拉框、单选框的值并作为参数传递到另一个frame里并显示结果
2012-07-05 20:45 915frameset里一个frame中获取下拉框、单选框的 ... -
android--UI组件总结
2012-07-03 13:43 636android的组件基本都按如下方法生成: 1、生成一 ... -
[RemoteClass(alias="flex.samples.product.Product")]、前台和后台的数据更新举例
2012-07-02 10:43 579【问题描述】 点击左侧的表格,数据的信息将在右侧显示 ... -
Removing items from a Flex DataGrid control using the DragManager class
2012-07-02 10:42 496You want to remove items from ... -
Flex 4 设置背景图片 Canvas backgroundImage BitmapFill fillMode
2012-07-02 10:42 722Flex 3中Canvas是可以设置backgroundI ... -
Flex 与 C# socket 通信(最简单的例子)
2012-07-02 10:42 646我用的是vs2005 文件 - 新建 - 项目 - ... -
Ubuntu 10.04环境下载&编译Android-2.2.1 (froyo )
2012-07-01 00:20 592本文根据下文整理而成: http://mantocom.b ... -
Firefox/Chrome下flash的wmode参数设为opaque或transparent时输入文本框中无法输入中文汉字的解决方法
2012-07-01 00:20 617这段时间做个项目 ... -
MyEclipse 8.6 特性,安装与优化
2012-07-01 00:20 592MyEclipse 8.6并没有选择最近刚刚发布的Ecli ... -
ubuntu那些不可不知的命令(一)
2012-07-01 00:20 680ubuntu那些不可不知的命令 软件管理 ap ...
相关推荐
受 Java、Ruby 和 Python 等其他高级语言的启发,我开发了一组字符串操作函数,以便更方便地处理字符串。 这里给出了一个简要的内容列表 strjoin:使用用户指定的分隔符连接多个字符串 strsplit:从字符串中提取由...
例如,在开发过程中,开发者可能需要对一些字符串进行格式化或者编解码操作,可以使用工具箱中的相应工具;在进行API接口测试时,可以使用其中的HTTP请求工具进行测试;在进行数据分析时,可用JSON。 **其他说明:*...
1. IDA pro是7.7版本。【动态分析和分析so文件必备】 2. AndroidKiller是一个集成工具箱...5. Notepad++ 文件内字符串搜索必备,很多AndroidKiller无法搜索的字符串,都可以找到,因为AndroidKiller只能搜索双引号的。
手机号码邮箱校验)序列化工具类(包含java序列化工具,jboss marshalling序列化工具类)日期工具类(日期转串口,字符串转日期)简要说明通过使用mumu-core组件可以大大减少项目创造的复杂度,实现开箱即用的特性。...
* Base64 编码* ZLIB 压缩* GZIP压缩* 图像压缩(需要图像处理工具箱) 该包在内部使用 JAVA 函数。 必须在 Matlab 中启用 JAVA。 用法----- ### Base64 编码 使用 `base64encode` 和 `base64decode` 进行编码/...
是一个开源、高可扩展性的工具包,可为任何数据集成任务提供开箱即用的解决方案,例如记录链接、实体解析和链接发现。 其核心是一组适用于 RDF 和关系数据的、与领域无关的、最先进的技术。 这些技术依赖于基于(元...
提供了各种在线工具:JSON格式化、压缩转义、生成C#、Java、Go实体类、SQL转Java实体类、XML和JSON互转、Excel/CSV转JSON、JSON转Excel/CSV、JSON和GET参数互转、JSON转YAML、HTML/CSS/JS格式化/压缩、加解密编码、...
java写webapi源码哦,...功能,在当前文件夹中搜索字符串,预览结果并打开选定的文件。 如何安装 1.安装一些需要的工具 对于 Mac OS,您只需运行 . 它将安装一些必要的工具和具有 lua 支持的最新 vim (7.4)。 curl -L ...
ViewAnimationUtils 视图动画工具箱,提供简单的控制视图的动画的工具方法 ViewUtils view控制 WiFiUtil WiFiUtil WindowUtils 窗口工具箱 ZipUtil 实现的Zip工具 BadgeUtil 设置Badge LogUtil LogUti工具类 ...
今天分享一堆开发人员必背工具:包括数据库工具、代码格式化工具、ftp、字符串拼接工具等等
Java基本的程序设计结构 3.1 一个简单的Java应用程序 3.2 注释 3.3 数据类型 3.4 变量 3.5 运算符 3.6 字符串 3.7 输入输出 3.8 控制流程 3.9 大数值 3.10 数组 第4章 对象与类...
Java基本的程序设计结构 3.1 一个简单的Java应用程序 3.2 注释 3.3 数据类型 3.4 变量 3.5 运算符 3.6 字符串 3.7 输入输出 3.8 控制流程 3.9 大数值 3.10 数组 第4章 对象与类...
Java基本的程序设计结构 3.1 一个简单的Java应用程序 3.2 注释 3.3 数据类型 3.4 变量 3.5 运算符 3.6 字符串 3.7 输入输出 3.8 控制流程 3.9 大数值 3.10 数组 第4章 对象与类...
2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 2.3使用命令行工具 2.4使用集成开发环境 2.5...
里面提供了大量,实用工具, # ImageUtil ==> 提供对图像操作工具 # TextUtil ==> 提供对字符串操作工具 # MD5Util ==> 提供对MD5算法在JAVA ME的实现类,并提供一个静态方法创建toMD5 得到一个MD5的字符串...
如果您没有任何工具箱来操作数据库,您有多种选择。 您可以使用 SqlLite 数据库,因为它是一个简单的文件,或者您可以在您的计算机上使用 SQL 服务器。 我在这里展示了一种使用 mongoDB 的简单方法。 要运行此示例...
·工具箱(常见字符串转换,如base64、des、md5、16进制、Unicode、去空白等); · 一键添加Xposed检测,一键添加弹窗、对话框; · axml反编译/回编译、arsc文件查看字符常量; · 一键LOG注入,一键去除所有弹窗...
·工具箱(常见字符串转换,如base64、des、md5、16进制、Unicode、去空白等); · 一键添加Xposed检测,一键添加弹窗、对话框; · axml反编译/回编译、arsc文件查看字符常量; · 一键LOG注入,一键去除所有弹窗...