java處理字元串
Ⅰ java中怎麼進行字元串替換
使用replace方法
該方法的作用是替換字元串中所有指定的字元,然後生成一個新的字元串,例如:
String s = 「abcat」;
String s1 = s.replace(『a』,『1』);
該代碼的作用是將字元串s中所有的字元a替換成字元1,生成的新字元串s1的值是「1bc1t」,而字元串s的內容不發生改變。如果需要將字元串中某個指定的字元串替換為其它字元串,則可以使用replaceAll方法,例如:
String s = 「abatbac」;
String s1 = s.replaceAll(「ba」,「12」);
該代碼的作用是將字元串s中所有的字元串「ab」替換為「12」,生成新的字元串「a12t12c」,而字元串s的內容也不發生改變。
字元串在存儲上類似字元數組
它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:
長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
Ⅱ java分割字元串
Java中的我們可以利用split把字元串按照指定的分割符進行分割,返回字元串數組,string.split的用法實例及注意事項:
java.lang.string.split
split 方法
將一個字元串分割為子字元串,然後將結果作為字元串數組返回。
stringObj.split([separator,[limit]])
stringObj
必選項。要被分解的 String 對象或文字,該對象不會被split方法修改。
separator
可選項。字元串或正則表達式對象,它標識了分隔字元串時使用的是一個還是多個字元。如果忽略該選項,返回包含整個字元串的單一元素數組。
limit
可選項。該值用來限制返回數組中的元素個數(也就是最多分割成幾個數組元素,只有為正數時有影響)
split 方法的結果是一個字元串數組,在 stingObj 中每個出現 separator 的位置都要進行分解。separator不作為任何數組元素的部分返回。
示例1:
String str="Java string split test";
String[] strarray=str.split(" ");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將輸出:
Java
string
split
test
示例2:
String str="Java string split test";
String[] strarray=str.split(" ",2);//使用limit,最多分割成2個字元串
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將輸出:
Java
string split test
示例3:
String str="192.168.0.1";
String[] strarray=str.split(".");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
將split(".")改為split("\\."),將輸出正確結果:
192
168
0
1
1、分隔符為「.」(無輸出),「|」(不能得到正確結果)轉義字元時,「*」,「+」時出錯拋出異常,都必須在前面加必須得加"\\",如split(\\|);
2、用"\"作為分隔,就得寫成這樣:String.split("\\\\"),因為在Java中是用"\\"來表示"\"的,字元串得寫成這樣:String Str="a\\b\\c";
轉義字元,必須得加"\\";
3、在一個字元串中有多個分隔符,可以用"|"作為連字元,比如:String str="Java string-split#test",可以用Str.split(" |-|#")把每個字元串分開;
Ⅲ Java中去除字元串中所有空格的幾種方法
1、String.trim()
trim()是去掉首尾空格
2、str.replace(" ", ""); 去掉所有空格,包括首尾、中間
復制代碼 代碼如下:
String str = " hell o ";
String str2 = str.replaceAll(" ", "");
System.out.println(str2);
3、或者replaceAll(" +",""); 去掉所有空格
4、str = .replaceAll("\\s*", "");
可以替換大部分空白字元, 不限於空格
\s 可以匹配空格、製表符、換頁符等空白字元的其中任意一個
具體如下:
1、簡介
編程是編寫程序的中文簡稱,就是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
2、匯編程序
匯編程序。使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬體結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。但正是由於匯編語言與計算機硬體系統關系密切,在某些特定的場合,如對時空效率要求很高的系統核心程序以及實時控製程序等,迄今為止匯編語言仍然是十分有效的程序設計工具。
3、執行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的。這種將高級編程硬體程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
Ⅳ 關於JAVA處理字元串
1 【軟體開發】JAVA字元串處理函數列表一覽
Java中的字元串也是一連串的字元。但是與許多其他的計算機語言將字元串作為字元數組處理不同,Java將字元串作為String類型對象來處理。將字元串作為內置的對象處理允許Java提供十分豐富的功能特性以方便處理字元串。下面是一些使用頻率比較高的函數及其相關說明。
作者:淘果兒 2008-7-21 16:31 回復此發言
--------------------------------------------------------------------------------
2 回復:【軟體開發】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);
作者:淘果兒 2008-7-21 16:31 回復此發言
--------------------------------------------------------------------------------
3 回復:【軟體開發】JAVA字元串處理函數列表一覽
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();
作者:淘果兒 2008-7-21 16:32 回復此發言
--------------------------------------------------------------------------------
4 回復:【軟體開發】JAVA字元串處理函數列表一覽
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)
Ⅳ java中字元串如何去除最後一個字元
利用尺局行java中String類的substring()字陵嘩符串截取方法 和length()求字元串長度方法即可。
1、語法解析:
public String substring(int beginIndex, int endIndex);第一個int為開始的索引,對應String數字中的開始位置;第二個是截止的索引位置,對應String中的結束位置。
2、具體代碼如下:
Ⅵ Java璇璦鎻愪緵浜嗕袱涓鐢ㄤ簬澶勭悊瀛楃︿覆鐨勭被鏄浠涔
String:鐢ㄦ潵澶勭悊鎷嗛椃闀垮害涓嶅彲鍙樼殑瀛楃︿覆
StringBuilder錛圫tringBuffer
榪欎袱鍩嬪盡鍗滀釜鍙鏄鐗堟湰涓嶅集絀楀悓鑰屽凡錛夌敤浜庡勭悊鍙鍙橀暱搴﹀瓧絎︿覆
Ⅶ Java緙栫▼瀛楃︿覆澶勭悊
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String str ="1:str1,2:str2,2:str22,3:str3,3:str33";
Map<Integer, List<String>綰充憨> map = new HashMap<Integer, List<String>>();
String[] strArray = str.split(",");
for(String item : strArray){
String[] strArrayItem = item.split(":"媧炲潶媯);
int key = Integer.parseInt(strArrayItem[0]);
List<String> list = map.get(key);
if(list == null){
list = new ArrayList<String>淇$墿();
}
list.add(strArrayItem[1]);
map.put(key, list);
}
for(Map.Entry<Integer, List<String>> entry : map.entrySet()){
entry.getValue().add(entry.getKey()+"");
System.out.println(entry.getValue().toString());
}
}
}
Ⅷ stringbuffer涓巗tringbuilder鐨勫尯鍒
涓嬮潰涓哄ぇ瀹跺垎浜浜唖tringbuffer涓巗tringbuilder鐨勫尯鍒錛屽笇鏈涘ぇ瀹惰兘浜嗚В鐩稿叧鍐呭癸紒
StringBuffer鍜孲tringBuilder鏄疛ava涓鐢ㄤ簬澶勭悊瀛楃︿覆鐨勪袱縐嶅父鐢ㄧ被錛屽畠浠鍦ㄥ姛鑳戒笂闈炲父鐩鎬技錛屼絾鍦ㄤ嬌鐢ㄦ柟寮忓拰鎬ц兘涓婂瓨鍦ㄤ竴浜涘井濡欑殑宸寮傘
棣栧厛錛孲tringBuffer鏄涓涓綰跨▼瀹夊叏鐨勭被錛岃孲tringBuilder鍒欎笉鏄銆傝繖鎰忓懗鐫鍦ㄥ氱嚎紼嬬幆澧冧腑錛屽傛灉浣犻渶瑕佷慨鏀瑰瓧絎︿覆錛屽簲璇ヤ嬌鐢⊿tringBuffer錛屽洜涓哄畠鎻愪緵浜嗗悓姝ユ満鍒舵潵闃叉㈠氫釜綰跨▼鍚屾椂淇鏀瑰瓧絎︿覆鏃跺彲鑳藉嚭鐜扮殑騫跺彂闂棰樸
鍏舵★紝鉶界劧StringBuffer鍜孲tringBuilder閮芥彁渚涗簡append()鏂規硶鏉ヨ繛鎺ュ瓧絎︿覆錛屼絾StringBuffer鐨刟ppend()鏂規硶鍦ㄦ瘡嬈¤皟鐢ㄦ椂閮戒細鍒涘緩涓涓鏂扮殑瀛楃︽暟緇勶紝鑰孲tringBuilder鐨刟ppend()鏂規硶鍒欎笉浼氥傝繖鎰忓懗鐫濡傛ū鎮夋灉浣犲湪寰鐜涓澶氭¤皟鐢╝ppend()鏂規硶錛屼嬌鐢⊿tringBuffer鍙鑳戒細姣斾嬌鐢⊿tringBuilder鏇村姞浣庢晥錛屽洜涓哄畠浼氫駭鐢熸洿澶氱殑鍐呭瓨鍒嗛厤鍜屽瀮鍦懼洖鏀跺紑閿銆
姝ゅ栵紝StringBuffer榪樻彁渚涗簡鍏朵粬涓浜涙柟娉曟潵淇鏀瑰瓧絎︿覆錛屼緥濡俰nsert()銆乨elete()鍜宺eplace()銆傝繖浜涙柟娉曞湪姣忔¤皟鐢ㄦ椂涔熶細鍒涘緩鏂扮殑瀛楃︽暟緇勶紝鍥犳ゅ湪鎬ц兘鏂歸潰鍙鑳戒笉濡係tringBuilder鐨勭浉搴旀柟娉曘
鎬葷殑鏉ヨ達紝濡傛灉浣犱笉闇瑕佽冭檻綰跨▼瀹夊叏闂棰橈紝騫朵笖鎯寵佹洿楂樼殑鎬ц兘錛岄偅涔堝簲璇ラ夋嫨StringBuilder銆傚傛灉浣犲湪澶氱嚎紼嬬幆澧冧腑宸ヤ綔錛屾父棣栨垨鑰呴渶瑕佷嬌鐢ㄤ竴浜汼tringBuffer鎻愪緵鐨勭壒瀹氭柟娉曪紝閭d箞搴旇ラ夋嫨StringBuffer銆傚湪澶у氭暟鎯呭喌涓嬶紝StringBuilder鏄鏇村ソ鐨勯夋嫨錛屽洜涓哄畠鎻愪緵浜嗘洿楂樼殑鎬ц兘騫朵笖瓚沖熸弧鑴婄(涔庤凍澶у氭暟瀛楃︿覆澶勭悊闇奼傘
Ⅸ 關於JAVA處理字元串
用正則表達式拆分字元串
正則的意思就是用標點.,:;或者空格,後面的+號是因為有可能.和空格在一起等情況,
public
class
Test
{
public
static
void
main(String[]
args){
String
str
=
"I
am
a
student.
My
name
is
AAA.
I
like
to
swim,
play
basketball
and
play
football.";
String[]
result
=
getVoca(str);
for(String
s:result)
{
System.out.println(s);
}
}
public
static
String[]
getVoca(String
str)
{
String[]
result
=
str.split("[.,;:
]+");
return
result;
}
}