package com.yarin.android.GameEngine.Util;
import java.util.Vector;
//�ַ�����չ��
public class StringExtension
{
//�س��ָ��
public static final String ENTER_SEPARATOR="\r\n";
//�ָ����������-�ָ�Ϊ�ַ�������
public static final int STRING_ARRAY=0;
//�ָ����������-�ָ�Ϊ��������
public static final int INTEGER_ARRAY=1;
/**
* ʹ�÷ָ��ַ����������ַ���
* @param strbf ��������ַ���Buffer
* @param separator �ָ��ַ���
* @param resultType ���ؽ�������ͣ��ַ������顢�������飩
* @param drop �Ƿ��������ʣ����ַ���
* @return �ָ����ַ�����������
*/
public static Object[] split(StringBuffer strbf,String separator,int resultType,boolean drop){
int pos=0;
Vector tmp=null;
pos=strbf.toString().indexOf(separator);
tmp=new Vector();
while(pos>0){
switch(resultType){
case STRING_ARRAY:
tmp.addElement(strbf.toString().substring(0,pos));
break;
case INTEGER_ARRAY:
tmp.addElement(new Integer(Integer.parseInt(strbf.toString().substring(0,pos))));
break;
}
strbf.delete(0,pos+separator.length());
pos=strbf.toString().indexOf(separator);
}
//����������µ��ַ������������뵽���ؽ���С�
if (!drop){
if (strbf.length()>0){
switch(resultType){
case STRING_ARRAY:
tmp.addElement(strbf.toString());
break;
case INTEGER_ARRAY:
tmp.addElement(new Integer(Integer.parseInt(strbf.toString())));
break;
}
}
}
Object[] result=new Object[tmp.size()];
tmp.copyInto(result);
return result;
}
/**
* �����������е�ԭ��ΪString�Ķ���ת��ΪString����
* @param objArray ��������
* @return ת������ַ�������
*/
public static String[] objectArrayBatchToStringArray(Object[] objArray){
String[] result=new String[objArray.length];
for(int i=0;i<objArray.length;i++){
result[i]=(String)objArray[i];
}
return result;
}
/**
* �����������е�ԭ��ΪInteger�Ķ���ת��Ϊint����
* @param objArray ��������
* @return ת�����int����
*/
public static int[] objectArrayBatchToIntArray(Object[] objArray){
int[] result=new int[objArray.length];
for(int i=0;i<objArray.length;i++){
Integer t=(Integer)objArray[i];
result[i]=t.intValue();
}
return result;
}
/**
* �����ַ�����ij�����ַ������ֵĴ���
* @param str �ַ���
* @param token ���ַ���
* @return ���ַ������ֵĴ���
*/
public static int getTokenCount(String str,String token){
int count=0;
int beginPos=0;
int pos=0;
while ((pos=str.indexOf(token,beginPos))>=0){
count++;
beginPos=pos+token.length();
}
return count;
}
/**
* �г��ַ����е�token���ַ���
* @param content �ַ���
* @param cutToken Ҫ���г������ַ���
* @return �г�����ַ���
*/
public static String removeToken(String content,String cutToken){
StringBuffer s=new StringBuffer(content);
int pos=0;
while((pos=s.toString().indexOf(cutToken))>=0){
s.delete(pos,pos+cutToken.length());
}
return s.toString();
}
/**
* �г��ַ����е�token���ַ���
* @param content �ַ���
* @param cutToken ��Ҫ���г������ַ�����ɵ�����
* @return �г�����ַ���
*/
public static String removeToken(String content,String[] cutToken){
StringBuffer s=new StringBuffer(content);
int pos=0;
for(int i=0;i<cutToken.length;i++){
while((pos=s.toString().indexOf(cutToken[i]))>=0){
s.delete(pos,pos+cutToken[i].length());
}
}
return s.toString();
}
/**
* �滻�ַ����е�ij�����ַ���
* @param content �ַ���
* @param replacedToken ���滻�����ַ���
* @param replaceStr �滻������ַ���
* @return �滻��ɹ����ַ���
*/
public static String replaceToken(String content,String replacedToken,String replaceStr){
StringBuffer s=new StringBuffer(content);
int pos=0;
while((pos=s.toString().indexOf(replacedToken))>=0){
s.delete(pos,pos+replacedToken.length());
s.insert(pos,replaceStr);
}
return s.toString();
}
}