日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java字符串 大括号_string.format格式化字符串中转义大括号“{}”

發布時間:2025/5/22 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java字符串 大括号_string.format格式化字符串中转义大括号“{}” 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天,用Java讀取配置文件占位符,使用String.Format(string format,object arg0)方法。以前只知“{0}”為索引占位符(即格式項),與參數列表中的第一個對象相對應,格式設置過程將每個格式項替換為對應對象的值的文本表示形式。但這次需將參數對象格式成一對大括號括起來的格式,即返回字符串“{對象arg0的文本表示形式}”。

//直接加大括號

String.Format("{{0}}",1);//{0}

如果使用上面語句,并不能獲得所需結果“{1}”,因為左大括號和右大括號被解釋為格式項的開始和結束,如果要在format參數中指定大括號字符,須使用轉義序列顯示文本左大括號或右大括號。在格式化字符串中這個轉義字符還是大括號本身。因此,在固定文本中指定兩個左大括號 (“{{”) 以顯示一個左大括號 (“{”),或指定兩個右大括號 (“}}”) 以顯示一個右大括號 (“}”)。

//本例的一種正確方式

String.Format("{{{0}}}",1);//{1}

按照在format中遇到大括號的順序依次解釋它們,不支持解釋嵌套的大括號。雖然上面能得到正確結果,但解釋轉義大括號的方式會導致意外的結果。例如,考慮要顯示一個左大括號、一個格式化為十進制數的數值和一個右大括號的格式項“{{{0:D}}}“。但是,實際是按照以下方式解釋該格式項:

1、前兩個左大括號 ("{{") 被轉義,生成一個左大括號;2、之后的三個字符 ("{0:") 被解釋為格式項的開始。3、下一個字符 ("D") 將被解釋為 Decimal 標準數值格式說明符,但后面的兩個轉義大括號 ("}}") 生成單個大括號。

由于得到的字符串 ("D}") 不是標準數值格式說明符號,所以得到的字符串會被解釋為用于顯示字符串“D}”的自定義格式字符串。4、最后一個大括號 ("}") 被解釋為格式項的結束。5、顯示的最終結果是字符串“{D}”。不會顯示本來要格式化的數值。

在編寫代碼時,避免錯誤解釋轉義大括號和格式項的一種方法是單獨格式化大括號和格式項。也就是說,在第一個格式化操作中顯示文本左大括號,在下一操作中顯示格式項的結果,然后在最后一個操作中顯示文本右大括號。

//正確無誤的形式

String.Format("{0}{1}{2}","{",1,"}");//{1}

總結

以上是生活随笔為你收集整理的java字符串 大括号_string.format格式化字符串中转义大括号“{}”的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。