1. 主页 > 小妙招

Java字符串操作:10个开发必会的String方法实战解析

锛堝紑绡囷級鍝庯紝浣犲啓Java浠g爜鐨勬椂鍊欐湁娌℃湁閬囧埌杩囪繖绉嶆儏鍐碉紵鏄庢槑鎯宠姣旇緝涓や釜瀛楃涓插唴瀹癸紝鐢?=="鍒ゆ柇鎬绘槸涓嶅噯锛涙兂鎶婄敤鎴疯緭鍏ョ殑鎵嬫満鍙蜂腑闂村洓浣嶆墦鏄熷彿锛屾姌鑵惧崐澶╀篃娌℃悶瀹氥€傚埆鎱岋紒浠婂ぉ鍜变滑灏辨幇寮€浜嗘弶纰庝簡锛岃亰鑱奐ava閲孲tring绫婚偅浜涘繀椤绘帉鎻$殑鎿嶄綔鏂规硶銆傛垜鏁㈣锛屾妸杩?0涓柟娉曞悆閫忎簡锛岃嚦灏戣兘甯綘灏戝姞涓夊ぉ鐝紒


涓€銆佸厛鎼炴噦杩欎釜锛氬瓧绗︿覆鍒板簳鏄釜鍟ワ紵

Java閲岀殑String鍟婏紝灏卞儚浣犲鐨勯棬鐗屽彿锛岀湅璧锋潵骞冲钩鏃犲锛屼絾灏戜簡瀹冭皝閮芥壘涓嶅埌浣犲銆傛瘡娆″垱寤哄瓧绗︿覆鍏跺疄鏄湪鍐呭瓨閲屾寕浜嗕釜"闂ㄧ墝"锛屾瘮濡?code>String name = "鑰佺帇"锛岃繖鏃跺€橨VM灏变細鍦ㄥ瓧绗︿覆甯搁噺姹犻噷缁?鑰佺帇"杩欎釜鍊煎畨涓銆?/p>

杩欓噷鏈変釜鍧戝緱娉ㄦ剰锛氣€?strong>鈥嬪瓧绗︿覆瀵硅薄涓€鏃﹀垱寤哄氨涓嶈兘淇敼鈥?/strong>鈥嬶紒浣犺瑕佹敼鎬庝箞鍔烇紵鍏跺疄姣忔鎿嶄綔閮戒細浜х敓鏂板璞°€傛瘮濡傝锛?/p>

java澶嶅埗
String str = "hello";
str += " world"; // 杩欓噷鎮勬倓閫犱簡涓柊瀵硅薄

锛堝皬璐村+锛夎繖鏃跺€欏彲鑳芥湁鏉犵簿瑕侀棶锛?閭tringBuilder鏄共鍟ョ殑锛? 鍒€ワ紝鍜变滑鍚庨潰鎬ц兘浼樺寲鐜妭浼氱粏璇达紝鍏堟墦濂藉熀纭€鏈€閲嶈銆?/p>


浜屻€佹柊鎵嬪繀韪╃殑3涓ぇ鍧?/h3>
  1. 鈥?strong>鈥?=="鍜宔quals鍌诲偦鍒嗕笉娓呪€?/strong>鈥?br/> 涓句釜鏍楀瓙馃尠锛?code>"java" == new String("java") 杩斿洖false锛屼絾鐢?code>equals灏辨槸true銆備负鍟ワ紵鍥犱负"=="姣旂殑鏄唴瀛樺湴鍧€锛宔quals鎵嶆槸姣斿唴瀹癸紒

  2. 鈥?strong>鈥嬪姩涓嶅姩灏眓ew瀵硅薄鈥?/strong>鈥?br/> 寰堝鏂版墜鐖卞啓String s = new String("abc")锛屽叾瀹炵洿鎺?code>String s = "abc"鏇撮珮鏁堛€傚墠鑰呮瘡娆ew閮戒細鍒涘缓鏂板璞★紝鍚庤€呬細鍏堟鏌ュ父閲忔睜鏈夋病鏈夌幇鎴愮殑銆?/p>

  3. 鈥?strong>鈥嬫嫾鎺ュ瓧绗︿覆鐢?鍙蜂笂鐦锯€?/strong>鈥?br/> 寰幆閲岀敤+鍙锋嫾鎺ュ瓧绗︿覆锛岀浉褰撲簬璁╃▼搴忓伐鍦颁笂鎼爾鈥斺€旀晥鐜囦綆寰楀悡浜恒€傚挶浠悗闈細璇存€庝箞鐢╟oncat鏂规硶鍜孲tringBuilder浼樺寲銆?/p>


涓夈€?0涓晳鍛芥柟娉曟墜鎶婃墜鏁欏

1. 鈥?strong>鈥媗ength()锛氬埆鏁颁簡锛岀洿鎺ュ彇闀垮害鈥?/strong>鈥?/h4>
java澶嶅埗
String phone = "13812345678";
if(phone.length() != 11) {
    System.out.println("浣犺繖鎵嬫満鍙锋槸鐏槦鏉ョ殑鍚э紵");
}

锛堥噸鐐癸級杩欎釜鏂规硶姣旀暟缁勭殑length灞炴€ф洿璐村績锛屼笉鐢ㄨ浠€涔堟椂鍊欑敤鎷彿浠€涔堟椂鍊欎笉鐢ㄣ€?/p>


2. 鈥?strong>鈥媍harAt()锛氱簿鍑嗗畾浣嶆瘡涓瓧绗︹€?/strong>鈥?/h4>

鎯崇粰鎵嬫満鍙锋墦鐮侊紵杩欎箞骞诧細

java澶嶅埗
String phone = "13812345678";
String masked = phone.charAt(0) + "****" + phone.substring(7);
// 杈撳嚭锛?****5678

娉ㄦ剰涓嬫爣浠?寮€濮嬶紒瑕佹槸鎵嬫粦鍐欐垚charAt(11)锛岀瓑鐫€浣犵殑灏辨槸StringIndexOutOfBoundsException銆?/p>


3. 鈥?strong>鈥媠ubstring()锛氬瓧绗︿覆鎴彇绁炲櫒鈥?/strong>鈥?/h4>

澶勭悊鏂囦欢璺緞鏃剁壒鍒鐢細

java澶嶅埗
String path = "C:/Users/鑰佺帇/瀛︿範璧勬枡/姝g粡鏂囨。.txt";
int lastSlash = path.lastIndexOf("/");
String fileName = path.substring(lastSlash + 1); 
// 鎷垮埌"姝g粡鏂囨。.txt"

锛堥伩鍧戞寚鍗楋級绗簩涓弬鏁版槸鎴涓嬫爣浣嗕笉鍖呭惈锛屾瘮濡俿ubstring(2,5)鍏跺疄鏄彇绗?銆?銆?浣嶇殑瀛楃銆?/p>


锛堝洜绡囧箙闄愬埗锛屼互涓嬪睍绀洪儴鍒嗘牳蹇冨唴瀹癸級


7. 鈥?strong>鈥媠plit()锛氭媶瀛楃涓插氨鍍忓垏棣欒偁鈥?/strong>鈥?/h4>

澶勭悊CSV鏁版嵁鏃惰秴瀹炵敤锛?/p>

java澶嶅埗
String data = "寮犱笁,25,鐢?绋嬪簭鍛?;
String[] cells = data.split(",");
// 寰楀埌["寮犱笁", "25", "鐢?, "绋嬪簭鍛?]

浣嗛亣鍒扮壒娈婂瓧绗︼紙姣斿.鎴栬€厊锛夎璁板緱杞箟锛屾瘮濡?code>split("\\.")


10. 鈥?strong>鈥媣alueOf()锛氫竾鐗╃殕鍙浆瀛楃涓测€?/strong>鈥?/h4>

杩欎釜闈欐€佹柟娉曡兘鎶婂悇绉嶇被鍨嬪彉鎴愬瓧绗︿覆锛?/p>

java澶嶅埗
int age = 30;
String s = String.valueOf(age); // "30"

姣旂洿鎺?code>age + ""鏇翠笓涓氾紝鎬ц兘涔熸洿濂斤紝鐗瑰埆鏄湪寰幆閲岀敤鐨勬椂鍊欏樊璺濇槑鏄俱€?/p>


鍥涖€佹€ц兘浼樺寲鐨勯獨鎿嶄綔

璇翠釜鐪熷疄妗堜緥锛氭煇鐢靛晢骞冲彴鍘熸潵鍔犺浇鍟嗗搧璇︽儏瑕?绉掞紝鍚庢潵鍙戠幇灏辨槸瀛楃涓叉嫾鎺ユ児鐨勭ジ銆備粬浠仛浜嗕笁浠朵簨锛?/p>

  1. 鎶婂惊鐜唴鐨?鍙锋嫾鎺ユ敼鎴愪簡StringBuilder
  2. 瓒呰繃3娆$殑瀛楃涓叉搷浣滈兘鐢⊿tringBuffer锛堢嚎绋嬪畨鍏ㄥ満鏅級
  3. 澶嶇敤棰戠箒浣跨敤鐨勫瓧绗︿覆瀵硅薄

鏀瑰畬鍚庡姞杞芥椂闂寸洿鎺ョ缉鐭埌1.2绉掞紒鎵€浠ュ晩锛屸€?strong>鈥嬪埆灏忕湅瀛楃涓叉搷浣滐紝鎼炰笉濂藉氨鏄€ц兘鐡堕鈥?/strong>鈥嬨€?/p>


锛堜釜浜鸿鐐癸級寰堝浜鸿寰桽tring鐨勬柟娉曞お鍩虹涓嶅€间竴鎻愶紝浣嗕綘鐪嬮偅浜涢珮绾у紑鍙戯紝鍝釜涓嶆槸鎶婅繖浜涘熀纭€鏂规硶鐜╁嚭鑺辩殑锛熷氨鍍忓仛楗紝鍚屾牱鐨勯鏉愶紝澶у帹灏辫兘鍋氬嚭绫冲叾鏋椾笁鏄熴€傛妸杩欎簺鏂规硶缁勫悎璧锋潵鐢紝浣犱細鍙戠幇澶勭悊瀛楃涓插氨璺熺帺鍎夸技鐨勩€?/p>

鏈€鍚庨€佸ぇ瀹朵竴鍙ヨ瘽锛氫唬鐮佷笉鏄啓鍑烘潵灏卞畬浜嬩簡锛屽緱缁忓父鐞㈢(鎬庝箞鍐欏緱鏇村ソ缁存姢銆佹洿楂樻晥銆備笅娆¢亣鍒板瓧绗︿覆澶勭悊鐨勯渶姹傦紝鍏堝埆鎬ョ潃鍐欎唬鐮侊紝鎯虫兂浠婂ぉ璇寸殑杩欎簺鏂规硶锛岃涓嶅畾灏辫兘灏戣蛋濂藉寮矾鍛紒

本文由嘻道妙招独家原创,未经允许,严禁转载