`
lspgdut
  • 浏览: 198956 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

StringUtil

阅读更多
package util;

import java.util.ArrayList;
import java.util.List;
/**
*
*
*/
public class StringUtil {


/***
*
* @param s 要匹配的字符窜 如:aaa${user}bbb${people.name}cccc${people.age}ddd${people.kk.ah.fgh}
* @param pref 字符窜前最 如:${
* @param end  字符窜后最 如:}
* @return  如:List${}间的字符窜,如:user对应:${user},people.name对应:{people.name}
*/
public static List findAllAssignKeyMiddleChar(String s,String pref,String end){
if(BlankUtil.isBlank(pref) || BlankUtil.isBlank(end) || BlankUtil.isBlank(s)){
return null;
}
List result=new ArrayList();
//find out all pref in s positions
List allPositions=StringUtil.findAllPosition(s, pref);
String temp=null;
for(int i=0,len=allPositions.size();i<len;i++){
Integer position=(Integer) allPositions.get(i);
int tempBefore=position.intValue();
int tempAfter=StringUtil.findAfterPosition(s, end, tempBefore);
temp=s.substring(tempBefore+pref.length(), tempAfter);
result.add(temp);
}
return result;
}

public static List findAllPosition(String s, String f) {
List positions = new ArrayList();
// int lastPosition=0;
if (null == s || "".equals(s)) {
return positions;
}
int length = f.length();
for (int i = 0; i < s.length() - length + 1; i++) {
String sub = s.substring(i, i + length);
if (f.equalsIgnoreCase(sub)) {
positions.add(Integer.valueOf(String.valueOf(i)));
}

}
return positions;
}


public static int findLastPosition(String s, String specialKey, int beforePosition) {
int lastPosition = -1;
if (null == s || "".equals(s)) {
return 0;
}
int length = specialKey.length();
for (int i = 0; i < beforePosition - length + 1; i++) {
String sub = s.substring(i, i + length);
if (specialKey.equalsIgnoreCase(sub)) {
lastPosition = i;
}
}

return lastPosition;
}

public static int findAfterPosition(String s, String specialKey, int beforePosition) {
int lastPosition = -1;
if (null == s || "".equals(s)) {
return 0;
}
int length = specialKey.length();
for (int i = beforePosition; i < s.length() - length + 1; i++) {
String sub = s.substring(i, i + length);
if (specialKey.equalsIgnoreCase(sub)) {
lastPosition = i;
break;
}
}

return lastPosition;
}



/***
*
* @param s
*            要比较的string
* @param f
*            要过滤得string
* @return 如果s包含有f return true,没有return false
*/
public static boolean ifContentString(String s, String f) {
if (null == s || "".equals(s)) {
return false;
}
int length = f.length();
for (int i = 0; i < s.length() - length + 1; i++) {
String sub = s.substring(i, i + length);
if (f.equalsIgnoreCase(sub)) {
return true;
}

}
return false;
}

/**
* @param args
*/
public static void main(String[] args) {
System.out.println(ifContentString("who am I", "am"));
}

}
分享到:
评论

相关推荐

    StringUtil.java工具类

    StringUtil工具类java学习的好东西!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...

    StringUtil.rar

    首先,`StringUtil.cpp`和`StringUtil.h`是C++中的源代码文件和头文件,它们定义了类`StringUtil`及其成员函数。在C++中,头文件通常用于声明类、函数、常量等,而源代码文件则包含了这些声明的实现细节。在这个案例...

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

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

    C语言实现String字符串及其函数stringUtil

    通过分析`stringUtil.c`源代码和`stringUtil.h`头文件,我们可以了解一些关键知识点。 1. **自定义字符串数据结构**:在C语言中,字符串通常以字符数组的形式存在。在`stringUtil.h`中,可能定义了一个名为`String`...

    StringUtil.java

    StringUtil.java 2100+行代码 内容丰富

    自己整理的StringUtil ,字符串处理工具类.txt

    自己整理的StringUtil ,字符串处理工具类,很全面的方法,对象之间的数据转换

    AS3-StringUtil

    《AS3-StringUtil:深入解析字符串处理工具类》 在ActionScript 3(AS3)中,处理字符串是一项常见的任务,而`StringUtil`类则是一个非常实用的工具,它提供了许多方便的方法来优化和简化字符串操作。这篇内容将...

    StringUtil工具类

    StringUtil工具类 是对String 对象封装操作

    ArrayUtil+DateUtil+FileUtil+ReguUtil+StringUtil

    这里提到的"ArrayUtil+DateUtil+FileUtil+ReguUtil+StringUtil"是五个这样的工具包,它们分别针对数组操作、日期处理、文件操作、正则表达式匹配和字符串操作提供了一系列便利的方法。 1. **ArrayUtil**: - **...

Global site tag (gtag.js) - Google Analytics