当前位置:编程学习 > JAVA >>

java字符串处理小工具(新手使用) 1/2

清明放假闲着没事做,做了个小工具,供刚学java的新手们使用,为什么我会写这个工具呢?原因是本人还是个java小菜鸟,还没走出校门,现在在上海一家软件公司实习,实习的第一天,组长让我画一个jsp页面,里面涉及到了js动态生成html代码(重复的内容相当多),关键还连接了Oracle中的24个表,难度不大,就是数据量大。哎,重复的东西写得太多了。于是我就自己琢磨着写个工具批量处理String,花了一天的时间写成功了这个小工具,给大家分享分享,因为时间急,没加多少注释,里面还有很多不足的地方。希望大家能够拓展拓展,请大神勿喷,仅供新手提高代码效率,尽量减少在处理字符串中浪费的时间。好了,废话不多说了,请看源码。。。
------
package util;

import java.util.ArrayList;
import java.util.List;

public class StringUtilCore {
private String strs;
private String context;

public StringUtilCore() {

}

public StringUtilCore(String context, String strs) {
this.strs = strs;
this.context = context;
}

public String core() {
// TODO ---------------------abc3
String[] c = strs.split(",");
if (strs.contains("abc+")) {
context = abc_jia(context, c[1]);
}else
if (strs.contains("abc-")) {
context = abc_jian(context, c[1]);
}else
if (strs.contains("+abc")) {
context = jia_abc(context, c[1]);
}else
if (strs.contains("-abc")) {
context = jian_abc(context, c[1]);
}else
if (strs.contains("a[b]Bc")) {
context = ti_abc(context, c[1], c[2]);
}else
if(strs.contains("[a_c]")){
context = a_c_jia(context,c[1],c[2]);
}else
if(strs.contains("(a_c)")){
context = a_c_jian(context,c[1],c[2]);
}else
if(strs.contains("a[_]c")){
if(c.length == 3){
context = ajia_jiac(context,c[1],c[2]);
}else if(c.length == 4){
context = ajia_jiac(context,c[1],c[2],c[3]);
}
}else
if(strs.contains("a(_)c")){
if(c.length == 3){
context = ajian_jianc(context,c[1],c[2]);
}else if(c.length == 4){
context = ajian_jianc(context,c[1],c[2],c[3]);
}
}
return context;
}

public String abc_jia(String con, String temp) {
return con + temp;
}

public String abc_jian(String con, String temp) {
return con.substring(0, con.length() - temp.length());
}

public String jia_abc(String con, String temp) {
return temp + con;
}

public String jian_abc(String con, String temp) {
return con.substring(temp.length(), con.length());
}

public String ti_abc(String con, String temp1, String temp2) {
return con.replace(temp1, temp2);
}

/**
 * 111234332423425 20000000005 29995 123 -> 111   123
 */
public String a_c_jian(String con, String temp1, String temp2) {
while (true) {
int in_1 = con.indexOf(temp1);
int in_2 = con.indexOf(temp2,in_1);
if (in_1 == -1 || in_2 == -1) {
break;
}
con = con.substring(0, in_1) + con.substring(in_2 + temp2.length(), con.length());
}
return con;
}

/**
 * 111234332423425 20000000005 29995 123 -> 11125 25 25 123
 */
public String a_c_jia(String con, String temp1, String temp2) {
String s1 = "~!@#$%^&*";
String s2 = "*&^%$#";
if(con.contains(s1) || con.contains(s2)){
return "The context can not contains ~!@#$%^&* or *&^%$# ";
}
while (true) {
int in_1 = con.indexOf(temp1);
int in_2 = con.indexOf(temp2,in_1);
if (in_1 == -1 || in_2 == -1) {
break;
}
con = con.substring(0, in_1) + s1 + s2+ con.substring(in_2 + temp2.length(), con.length());
}
con = con.replace(s1, temp1);
con = con.replace(s2, temp2);
return con;
}

/**
 * 111234332423425 20000000005 29995 123 -> 3433242342000000000999 or 3433242342>>>000000000>>>999>>>
 */
public String ajian_jianc(String con, String... temp){
StringBuffer cc = new StringBuffer();
String jia = "";
if(temp.length == 3){
jia = temp[2];
}
while (true) {
int in_1 = con.indexOf(temp[0]);
int in_2 = con.indexOf(temp[1],in_1);
if (in_1 == -1 || in_2 == -1) {
break;
}
cc.append(con.substring(in_1 + temp[0].length(),in_2));
cc.append(jia);
con = con.substring(0, in_1 + temp[0].length()) + con.substring(in_2 + 1, con.length());
}
return cc.toString();
}

/**
 * 111234332423425 20000000005 29995 123 -> 2343324234252000000000529995 or 234332423425>>>20000000005>>>29995>>>
 */
public String ajia_jiac(String con, String... temp){
StringBuffer cc = new StringBuffer();
String jia = "";
if(temp.length == 3){
jia = temp[2];
}
while (true) {
int in_1 = con.indexOf(temp[0]);
int in_2 = con.indexOf(temp[1],in_1);
if (in_1 == -1 || in_2 == -1) {
break;
}
cc.append(con.substring(in_1,in_2+temp[1].length()));
cc.append(jia);
con = con.substring(0, in_1) + con.substring(in_2 + 1, con.length());
}
return cc.toString();
}

}
-----
(差一个在下一贴)(由于字符串超过了10000字)
------

package util;

import java.util.ArrayList;
import java.util.List;

public class StringUtilList {

public static List<String> list;

public StringUtilList(){
list = new ArrayList<String>();
//TODO ---------------------abc1
list.add("abc+" + "//字符串后添加");
list.add("abc-" + "//字符串后减少(按参数的位数)");
list.add("+abc" + "//字符串前添加");
list.add("-abc" + "//字符串前减少(按参数的位数)");
list.add("<>" + "//按照指定字符串循环操作(循环开始)");
list.add("</>" + "//按照指定字符串循环操作(循环结束)");
list.add("a[b]Bc" + "//将字符串中的某个字符串替换掉" );
list.add("[a_c]"+"//取字符中除去两个子字符串之间的字符串(包括这两个字符串)");
list.add("(a_c)"+"//取字符中除去两个子字符串之间的字符串(不包括这两个字符串)");
list.add("a[_]c"+"//取字符中两个子字符串之间的字符串(包括这两个字符串)");
list.add("a(_)c"+"//取字符中两个子字符串之间的字符串(不包括这两个字符串)");
}
}

-----------
package util;

public class Test {
public static void main(String[] args) {
new StringUtilJFrame(new StringUtilList().list).core();;
}
public Test(){
new StringUtilJFrame(new StringUtilList().list).core();;
}

}
---------

分享快乐......... java 工具 string import jsp --------------------编程问答-------------------- 实例图片一

实例图片二


--------------------编程问答-------------------- 谢谢楼主分享。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,