<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
String str="Hello {0},我是 {1},今年{2}歲"; str = str.replace("{0}", "CSDN"); str = str.replace("{1}", "小豬"); str = str.replace("{2}", "12"); System.out.println(str);
作用:使用指定的格式字串和引數返回一個格式化字串。
String str=String.format("Hello %s,我是 %s,今年 %s 歲", "CSDN","小豬","12"); System.out.println(str);
String.format 作為文書處理工具,為我們提供強大而豐富的字串格式化功能,為了不止步於簡單呼叫 String.format("Hello %s", "CSDN");
預留位置格式:
%[index$][標識]*[最小寬度][.精度]轉換符
針對不同資料型別的格式化,預留位置的格式將有所裁剪。
預留位置格式:
%[index$][標識][最小寬度]轉換符
範例1
String str = "CSDN"; String result = String.format("%1$7s", str); System.out.println("Hello" + result); // 簡化 result = String.format("%7s", str); System.out.println("Hello" + result); // 結果: Hello CSDN Hello CSDN
範例2
String str = "CSDN"; String result = String.format("%1$-7s", str); System.out.println("Hello" + result + ","); // 簡化 result = String.format("%-7s", str); System.out.println("Hello" + result + ","); // 結果: HelloCSDN , HelloCSDN ,
可用標識
可用轉換符
預留位置格式
%[index$][標識]*[最小寬度]轉換符
範例1
將1顯示為0001
int num = 1; String str = String.format("%04d", num); System.out.println(str); // 結果: 0001
範例2
將-1000顯示為(1,000)
int num = -1000; String str = String.format("%(,d", num); System.out.println(str); // 結果: (1,000)
可用標識:
可用轉換符:
預留位置格式:
%[index$][標識]*[最小寬度][.精度]轉換符
範例:
double num = 123.4567899; System.out.print(String.format("%f %n", num)); System.out.print(String.format("%a %n", num)); System.out.print(String.format("%g %n", num)); // 結果 123.456790 0x1.edd3c0bb46929p6 123.457
可用標識:
可用轉換符:
預留位置格式:
%[index$]t轉換符
範例1
String str = String.format("%tF", new Date()); System.out.println(str); // 結果 2020-12-15
可用轉換符
1)日期的轉換符
2)時間的轉換符
常用的型別關係:
轉換符 | 詳細說明 | 範例 |
---|---|---|
%s | 字串型別 | “喜歡請收藏” |
%c | 字元型別 | ‘m’ |
%b | 布林型別 | true |
%d | 整數型別(十進位制) | 88 |
%x | 整數型別(十六進位制) | FF |
%o | 整數型別(八進位制) | 77 |
%f | 浮點型別 | 8.888 |
%a | 十六進位制浮點型別 | FF.35AE |
%e | 指數型別 | 9.38e+5 |
%g | 通用浮點型別(f和e型別中較短的) | 不舉例(基本用不到) |
%h | 雜湊碼 | 不舉例(基本用不到) |
%% | 百分比型別 | %(%特殊字元%%才能顯示%) |
%n | 換行符 | 不舉例(基本用不到) |
%tx | 日期與時間型別(x代表不同的日期與時間轉換符) | 不舉例(基本用不到) |
在開發中,會有動態設定字串其中的某些字元,如何使用字元中的預留位置,並且在程式碼動態替換預留位置實現動態設定字串!
1.定義字串時,再string檔案新增字串:
注意!記得要在字元檔案中加上這些:
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="text1">i am %1$d years old, i am a %2$s</string>
屬性值定義如下:
%n$m[d/f/s] 表示 第n個引數,前面有m個空格(0m表示有m個0,浮點數k.m,表示小數點前保留k位,小數點後保留m位),d為整數,f為浮點數,s為字串。
2.在程式碼中使用:
String text1 = Context.getResources().getString(R.string.text1); //注意,Andorid中的Context.getString()與Context.getResources().getString()是一樣的,詳細可看Context原始碼0.0 String text2 = String.format(text1,25,"engineer");//"i am 25 years old, i am a engineer"
使用String.format()方法,第一個引數為字串,後面依次為替換預留位置的字串。
到此這篇關於JAVA字串預留位置使用的文章就介紹到這了,更多相關JAVA字串預留位置使用 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45