`

java常用操作方法(三)字符串工具类 StringUtil

    博客分类:
  • java
阅读更多
package com.jinqiao.util;

import java.util.ArrayList;
import java.util.List;
import javax.persistence.Entity;


@Entity
public class StringUtil {

/**
* 去掉给定字符串前和后的空格,返回干净的字符串
* @param str
* @return String
*/
public static String removeSpaces(String args) {

if(args!=null){
args = args.trim();
while (args.startsWith(" ")) {
args = args.substring(1, args.length()).trim();
}
while (args.endsWith(" ")) {
args = args.substring(0, args.length() - 1).trim();
}
}else{
args = "";
}

return args;
}


/**
* 转全角的函数
* @param str
* @return String
*/
public static String toSBC(String input) {
//半角转全角:
char[] c = input.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == 32) {
c[i] = (char) 12288;
continue;
}
if (c[i] < 127) {
c[i] = (char) (c[i] + 65248);
}
}
return new String(c);
}


/**
* 转半角的函数
* @param str
* @return String
*/
public static String toDBC(String input) {
char[] c = input.toCharArray();
for (int i = 0; i < c.length; i++) {
if (c[i] == 12288) {
c[i] = (char) 32;
continue;
        }
if (c[i] > 65280 && c[i] < 65375){
c[i] = (char) (c[i] - 65248);
}
}
return new String(c);
}


/**
* 为每添加一个元素前面增加指定的分隔 除第一个元素之外
* @param str
* @param appStr
* @param compart
* @return
*/
public static StringBuffer appendElement(StringBuffer strB,String appStr,String compart){

//当出入参数为NULL时
if(strB == null){
return new StringBuffer(appStr);
}

//当没有元素时直接添加追加元素 否则先添加分隔符
if(strB.length() == 0){
strB.append(appStr);
}else{
strB.append(compart);
strB.append(appStr);
}

return strB;
}


/**
* 移除元素
* @param str
* @param moveStr
* @param compart
* @return
*/
public static StringBuffer moveElement(StringBuffer strB,String moveStr,String compart){

//当出入参数为NULL时
if(strB == null){
return strB;
}

StringBuffer newStrB = new StringBuffer();

String[] strArray = strB.toString().split(compart);
for(int i=0;i<strArray.length;i++){

if(moveStr.equals(strArray[i])){
continue;
}

if(i == 0){
newStrB.append(strArray[i]);
}else{
newStrB.append(compart);
newStrB.append(strArray[i]);
}
}



return newStrB;
}


/**
* 移除第一个匹配的元素
* @param str
* @param moveStr
* @param compart
* @return
*/
public static StringBuffer moveFirstElement(StringBuffer strB,String moveStr,String compart){

//当出入参数为NULL时
if(strB == null){
return strB;
}

StringBuffer newStrB = new StringBuffer();

String[] strArray = strB.toString().split(compart);
boolean tag = false;
for(int i=0;i<strArray.length;i++){

if(moveStr.equals(strArray[i]) == true && tag == false){
tag = true;
continue;
}

if(i == 0){
newStrB.append(strArray[i]);
}else{
newStrB.append(compart);
newStrB.append(strArray[i]);
}
}



return newStrB;
}


/**
* 从给定字符中 返回所含的中文字符 并按每组以以字符串数组的形式返回
* @param src
* @return
*/
public static String[] getChinese(String src){

List list = new ArrayList();

byte[] srcByte = src.getBytes();
int srcLength = srcByte.length;


int begin = -1;
int end = -1;

for(int i=0;i<srcLength;i++){

//设置中文的开始位
if(srcByte[i] < 0 && begin == -1){
begin = i;
}

//设置中文的结束位
if(srcByte[i] > 0 && begin != -1 && end == -1){
end = i;
}


//如果已经找到中文的开始 但直到最后也没找到中文的结束,则将字符的结束位当成中文的截止位
if(begin != -1 && i == srcLength - 1){
end = i;
}


//将中文提取出来
if(begin != -1 && end != -1){


int tempLength = end-begin+1;
if(tempLength % 2 != 0){
tempLength = tempLength - 1;
}


byte[] tempByte = new byte[tempLength];
System.arraycopy(srcByte,  begin,  tempByte,  0,  tempLength); 

list.add(new String(tempByte));

begin = -1;
end = -1;
}

}


//将中文以数组输出
int size = list.size();
String[] chineseArray = new String[size];
for(int i=0;i<size;i++){
chineseArray[i] = list.get(i).toString();
}

return chineseArray;
}


public static String zeroleft(String str,Integer len){
if(str==null||str.trim().length()<1)
str = "1";
while(str.length()<len){
str ="0" + str;
}
return str;
}

public static void main(String[] args) {

StringBuffer str = new StringBuffer("a,c,d,c");
str = StringUtil.moveFirstElement(str, "c", ",");
System.out.println(str.toString());
}

}
分享到:
评论

相关推荐

    Java常用工具类UtilClass

    - `StringUtil`通常包含一系列静态方法,用于处理和操作字符串。例如,它可能有检查空字符串 (`isEmpty()`)、去除空白 (`trim()`)、比较字符串 (`equals()`)、替换子串 (`replace()`)、分割字符串 (`split()`) 等...

    StringUtil(通过的字符处理工具类)

    `StringUtil`是一个常见的Java工具类,它包含了大量用于处理字符串的方法,可以极大地简化字符串操作,提高代码的可读性和效率。在Java开发中,我们经常会遇到对字符串进行各种操作的需求,如检查空值、分割、连接、...

    java常用util工具类

    首先,`StringUtil`通常是自定义或第三方库中用于处理字符串的工具类。它包含了对字符串的各种操作,如拼接、分割、替换、检查空值、格式化等。例如,`isBlank()`方法可以判断字符串是否为空或仅包含空白字符,`join...

    时间,字符串常用工具类

    字符串处理是编程中非常常见的任务,因此,一个字符串工具类会包含许多对字符串进行操作的方法。这可能包括字符串的格式化、分割、连接、查找和替换、去除空白字符、大小写转换、检查是否符合特定模式(如邮箱格式...

    json工具类,java日期转换,字符串转换等各种工具类

    在Java编程中,工具类(Util Classes)是程序员日常工作中不可或缺的部分,它们提供了一系列静态方法,用于执行常见的任务,如JSON解析、日期处理、字符串操作等。以下是对标题和描述中涉及的知识点的详细说明: 1....

    java常用工具类封装util.rar

    1. **字符串处理工具类(StringUtil)**:此类通常包含处理字符串的各种方法,如字符串拼接、格式化、去除空白字符、判断是否为空、分割字符串等。例如`isEmpty()`用于检查字符串是否为空,`join()`用于连接字符串数...

    java 字符串操作类

    `StringUtil` 类是这样一个工具类,它集合了多种常用的字符串处理方法,以提高开发效率并减少代码重复。在这个类中,我们可以找到包括分隔、插入、判断字符串状态(空或非空)、去除空格等多种功能,这些都是在实际...

    JAVA 字符串 操作

    在Java编程语言中,字符串(String)是一个非常基础且重要的数据类型。它被广泛用于处理文本信息,例如用户输入、文件内容、网络数据等。本文将深入探讨Java中的字符串操作,包括创建、比较、拼接、查找与替换、分割...

    工具类_字符串处理

    在实际开发中,很多编程语言都提供了一些内置的字符串工具类或模块,如Python的`str`类、JavaScript的`String`对象、C#的`System.Text.StringBuilder`等。这些工具类通常包含一系列静态方法,用于执行诸如格式化、...

    Java分割字符串

    在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某个部分。这通常通过使用`split()`方法来实现,该方法是Java `String`类的一个成员。在...

    java常用工具类

    其次,StringUtil是处理字符串的工具类,它提供了许多在处理字符串时非常实用的方法。比如,检查字符串是否为空 (`StringUtil.isEmpty(str)`), 字符串替换 (`StringUtil.replace(str, oldStr, newStr)`), 截取子字符...

    字符串工具类

    为了简化这些操作并提高代码的可读性和可维护性,通常会编写一个专门的字符串工具类(如`StringUtil`)。此类封装了一系列用于处理字符串的方法,如检查字符串是否为空、字符串转换、字符串比较等。下面将详细介绍`...

    java字符串处理取出括号内的字符串

    在Java中,我们可以使用`java.util.regex`包中的`Pattern`和`Matcher`类来匹配和操作符合特定模式的字符串。对于提取括号内的内容,一个简单的正则表达式可以是`\((.*?)\)`,它匹配一对括号,并用`.*?`非贪婪地捕获...

    Java常用工具类,字符串、日期、jdbc、xml解析等等

    在Java中,有许多内置的工具类,如`java.lang.String`、`java.util.Date`,以及第三方库如Apache Commons Lang和Google Guava等。下面我们将详细探讨这些工具类在字符串、日期、JDBC和XML解析等方面的使用。 1. **...

    java 字符串 正则表达式 详细实例代码

    在Java编程语言中,字符串(String)是至关重要的数据类型,用于存储和操作文本。字符串类提供了丰富的API,使得处理字符串变得高效且灵活。本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码...

    Java常用工具类(持续发布,第一部分:日期、字符串、JSON工具类等)

    接下来是字符串工具类。Java中,`java.lang.String`类本身提供了丰富的操作方法,如`isEmpty()`用于判断字符串是否为空,`trim()`用于去除字符串两端的空白字符。但有时我们还需要更复杂的功能,这时可以借助Apache ...

    StringUtil.rar

    类似于Java或Python中的split方法,`StringUtil`可能提供了一个功能,可以将一个字符串按照指定的分隔符拆分成一个字符串数组。这在处理CSV数据、日志文件或者任何基于特定分隔符的数据格式时非常有用。例如,你...

    时间与字符串工具类

    本话题聚焦于两个特定的工具类:`StringUtil`和`DatetimeUtil`,它们分别处理字符串操作和日期时间操作。 `StringUtil`类是一个典型的字符串处理工具类,它提供了以下两个关键功能: 1. **去除右侧空格**: 这个...

Global site tag (gtag.js) - Google Analytics