JAVA字符串处理函数常用的实用的方法介绍



JAVA字符串处理函数常用的实用的方法介绍。Java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处 理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
substring()
它有两种形式,第一种是:String substring(int startIndex)
第二种是:String substring(int startIndex,int endIndex)

concat() 连接两个字符串

replace() 替换
它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下:
String replace(char original,char replacement)
例如:String s=”Hello”.replace(’l’,’w’);
第二种形式是用一个字符序列替换另一个字符序列,形式如下:
String replace(CharSequence original,CharSequence replacement)

trim() 去掉起始和结尾的空格

valueOf() 转换为字符串

toLowerCase() 转换为小写

toUpperCase() 转换为大写

length() 取得字符串的长度
例:
char chars[]={’a’,’b’.’c’};
String s=new String(chars);
int len=s.length();

charAt() 截取一个字符
例:
char ch;
ch=”abc”.charAt(1);
返回值为’b’

getChars() 截取多个字符
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sourceStart 指定了子串开始字符的下标
sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。
target 指定接收字符的数组
targetStart target中开始复制子串的下标值
例:
String s=”this is a demo of the getChars method.”;
char buf[]=new char[20];
s.getChars(10,14,buf,0);

getBytes()
替代getChars()的一种方法是将字符存储在字节数组中,该方法即getBytes()
例:
String s = “Hello!你好!”;
byte[] bytes = s.getBytes();

toCharArray()
例:
String s = “Hello!你好!”;
char[] ss = s.toCharArray();

equals()和equalsIgnoreCase() 比较两个字符串

regionMatches() 用于比较一个字符串中特定区域与另一特定区域,它有一个重载的形式允许在比较中忽略大小写。
boolean regionMatches(int startIndex,String str2,int
str2StartIndex,int numChars)
boolean regionMatches(boolean ignoreCase,int startIndex,String
str2,int str2StartIndex,int numChars)

startsWith()和endsWith()
startsWith()方法决定是否以特定字符串开始,endWith()方法决定是否以特定字符串结束

equals()和==
equals()方法比较字符串对象中的字符,==运算符比较两个对象是否引用同一实例。
例:String s1=”Hello”;
String s2=new String(s1);
s1.eauals(s2); //true
s1==s2;//false

compareTo()和compareToIgnoreCase() 比较字符串

indexOf()和lastIndexOf()
indexOf() 查找字符或者子串第一次出现的地方。
lastIndexOf() 查找字符或者子串是后一次出现的地方。


StringBuffer构造函数
StringBuffer定义了三个构造函数:
StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)

下面是StringBuffer相关的函数:
length()和capacity()
一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到。

ensureCapacity() 设置缓冲区的大小
void ensureCapacity(int capacity)

setLength() 设置缓冲区的长度
void setLength(int len)

charAt()和setCharAt()
char charAt(int where)
void setCharAt(int where,char ch)

getChars()
void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)

append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。
例:int a=42;
StringBuffer sb=new StringBuffer(40);
String s=sb.append(”a=”).append(a).append(”!”).toString();

insert() 插入字符串
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)
StringBuffer insert(int index,Object obj)
index指定将字符串插入到StringBuffer对象中的位置的下标。

reverse() 颠倒StringBuffer对象中的字符
StringBuffer reverse()

delete()和deleteCharAt() 删除字符
StringBuffer delete(int startIndex,int endIndex)
StringBuffer deleteCharAt(int loc)

replace() 替换
StringBuffer replace(int startIndex,int endIndex,String str)

substring() 截取子串
String substring(int startIndex)
String substring(int startIndex,int endIndex)

 
static String System.clearProperty(String key)
移除指定键指示的系统属性。
String String.concat(String str)
将指定字符串联到此字符串的结尾。
String EnumConstantNotPresentException.constantName()
返回缺少的枚举常量的名称。
static String String.copyValueOf(char[] data)
返回指定数组中表示该字符序列的字符串。
static String String.copyValueOf(char[] data, int offset, int count)
返回指定数组中表示该字符序列的字符串。
protected String ClassLoader.findLibrary(String libname)
返回本机库的绝对路径名。
static String String.format(Locale l, String format, Object… args)
使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
static String String.format(String format, Object… args)
使用指定的格式字符串和参数返回一个格式化字符串。
String Class.getCanonicalName()
返回《Java Language Specification》中所定义的基础类的规范化名称。
String StackTraceElement.getClassName()
返回类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。
static String System.getenv(String name)
获得指定的环境变量值。
String StackTraceElement.getFileName()
返回源文件名,该文件包含由该堆栈跟踪元素所表示的执行点。
String Package.getImplementationTitle()
返回此包的标题。
String Package.getImplementationVendor()
返回提供该实现的组织、供应商或公司的名称。
String Package.getImplementationVersion()
返回该实现的版本。
String Throwable.getLocalizedMessage()
创建此 throwable 的本地化描述。
String Throwable.getMessage()
返回此 throwable 的详细消息字符串。
String StackTraceElement.getMethodName()
返回方法名,此方法包含由该堆栈跟踪元素所表示的执行点。
String Class.getName()
以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
String Thread.getName()
返回该线程的名称。
String ThreadGroup.getName()
返回此线程组的名称。
String Package.getName()
返回此包的名称。
static String System.getProperty(String key)
获得指定键指示的系统属性。
static String System.getProperty(String key, String def)
获得用指定键描述的系统属性。
String Class.getSimpleName()
返回源代码中给出的基础类的简称。
String Package.getSpecificationTitle()
返回此包实现的规范标题。
String Package.getSpecificationVendor()
返回拥有并维护实现此包的类规范的组织、供应商或公司的名称。
String Package.getSpecificationVersion()
返回此包实现的规范的版本号。
String String.intern()
返回字符串对象的规范化表示形式。
static String System.mapLibraryName(String libname)
将一个库名称映射到特定于平台的、表示本机库的字符串中。
String Enum.name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。
String String.replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
String String.replace(CharSequence target, CharSequence replacement)
使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。
String String.replaceAll(String regex, String replacement)
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
String String.replaceFirst(String regex, String replacement)
使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的第一个子字符串。
static String System.setProperty(String key, String value)
设置指定键指示的系统属性。
String[] String.split(String regex)
根据给定的正则表达式的匹配来拆分此字符串。
String[] String.split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。
String String.substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
String StringBuffer.substring(int start)

String String.substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
String StringBuffer.substring(int start, int end)

static String Integer.toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
static String Long.toBinaryString(long i)
以二进制无符号整数形式返回 long 参数的字符串表示形式。
static String Double.toHexString(double d)
返回 double 参数的十六进制字符串表示形式。
static String Float.toHexString(float f)
返回 float 参数的十六进制字符串表示形式。
static String Integer.toHexString(int i)
以十六进制的无符号整数形式返回一个整数参数的字符串表示形式。
static String Long.toHexString(long i)
以十六进制无符号整数形式返回 long 参数的字符串表示形式。
String String.toLowerCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
String String.toLowerCase(Locale locale)
使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。
static String Integer.toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
static String Long.toOctalString(long i)
以八进制无符号整数形式返回 long 参数的字符串表示形式。
String Object.toString()
返回该对象的字符串表示。
String CharSequence.toString()
返回一个包含此序列中字符的字符串,该字符串与此序列的顺序相同。
String String.toString()
返回此对象本身(它已经是一个字符串!)。
String Class.toString()
将对象转换为字符串。
String Throwable.toString()
返回此 throwable 的简短描述。
String Thread.toString()
返回该线程的字符串表示形式,包括线程名称、优先级和线程组。
String ThreadGroup.toString()
返回此线程组的字符串表示形式。
String StringBuffer.toString()

String StackTraceElement.toString()
返回表示该堆栈跟踪元素的字符串。
String Boolean.toString()
返回表示该布尔值的 String 对象。
String Character.toString()
返回表示此 Character 值的 String 对象。
String Character.Subset.toString()
返回该子集的名称。
String Float.toString()
返回这个 Float 对象的字符串表示形式。
String Double.toString()
返回 Double 对象的字符串表示形式。
String Byte.toString()
返回表示此 Byte 的值的 String 对象。
String Short.toString()
返回表示此 Short 的值的 String 对象。
String Integer.toString()
返回一个表示该 Integer 值的 String 对象。
String Long.toString()
返回表示 Long 值的 String 对象。
String StringBuilder.toString()

String Enum.toString()
返回枚举常量的名称,它包含在声明中。
String Package.toString()
返回此 Package 的字符串表示形式。
static String Boolean.toString(boolean b)
返回一个表示指定布尔值的 String 对象。
static String Byte.toString(byte b)
返回表示指定 byte 的一个新 String 对象。
static String Character.toString(char c)
返回一个表示指定 char 值的 String 对象。
static String Double.toString(double d)
返回 double 参数的字符串表示形式。
static String Float.toString(float f)
返回 float 参数的字符串表示形式。
static String Integer.toString(int i)
返回一个表示指定整数的 String 对象。
static String Integer.toString(int i, int radix)
用第二个参数指定的基数返回第一个参数的字符串表示形式。
static String Long.toString(long i)
返回表示指定 long 的 String 对象。
static String Long.toString(long i, int radix)
返回在使用第二个参数指定的基数时第一个参数的字符串表示形式。
static String Short.toString(short s)
返回表示指定 short 的一个新 String 对象。
String String.toUpperCase()
使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
String String.toUpperCase(Locale locale)
使用给定的 Locale 规则将此 String 中的所有字符都转换为大写。
String String.trim()
返回字符串的副本,忽略前导空白和尾部空白。
String TypeNotPresentException.typeName()
返回不可用类型的完全限定名。
static String String.valueOf(boolean b)
返回 boolean 参数的字符串表示形式。
static String String.valueOf(char c)
返回 char 参数的字符串表示形式。
static String String.valueOf(char[] data)
返回 char 数组参数的字符串表示形式。
static String String.valueOf(char[] data, int offset, int count)
返回 char 数组参数的特定子数组的字符串表示形式。
static String String.valueOf(double d)
返回 double 参数的字符串表示形式。
static String String.valueOf(float f)
返回 float 参数的字符串表示形式。
static String String.valueOf(int i)
返回 int 参数的字符串表示形式。
static String String.valueOf(long l)
返回 long 参数的字符串表示形式。
static String String.valueOf(Object obj)
返回 Object 参数的字符串表示形式。