字串格式化

2021-09-19 17:21:41 字數 1142 閱讀 8014

我們在生活中經常會碰到類似'尊敬的 *** 使用者你好!你 xx 月的話費是 xx,剩餘餘額為 xx' 之類的話,而 ***裡面的內容都是也是根據變數而變化的,所以需要一種簡便的格式化字串的方式。那麼如何將輸出的字串格式化呢,請往下面看:

學過c語言的應該知道在c語言中字串的格式化方式,而在 python 中所採用的格式化方式和 c 語言是一致的,都是用 % 實現,如:

print( 'hello, %s' % 'world')

輸出結果:

hello, world

上面用到的 % 運算子就是用來格式化字串的。在字串內部, %s表示用字串替換, %d 表示用整數替換。有幾個 %? 佔位符,後面就跟幾個變數或者值,順序要對應好。如果只有乙個 %? ,那麼括號可以省略。常見的佔位符有 %d 整數、%f 浮點數、%s 字串、%x 十六進製制整數。其中,格式化整數和浮點數還可以指定是否補 0 和整數與小數的位數:

print('%2d-%02d' % (3, 1))

print('%.2f' % 3.1415926)

執行結果:

3-01

3.14

如果在使用的時候不太確定應該用什麼,那麼就用%s ,%s 永遠起作用,它會把任何資料型別轉換為字串:

print( 'age: %s. final: %s' % (25, true))

執行結果:

age: 25. final: true

有些時候,可能會遇到字串裡面的 % 是乙個普通字元的情況,這個時候就需要轉義,用 %% 來表示乙個 % :

print( 'final rate: %d %%' % 3)

執行結果:

final rate: 3 %

提個建議:在格式化字串的時候,可以用 python 的互動式命令列來進行測試,既簡單又方便快捷。

字串格式化

sprintf snprintf snprintf std stringstream std strstream boost lexical cast boost format cstring format 1 sprintf 使用 sprintf 不安全,輕則破壞資料的準確性,重則程式崩潰。請看下...

格式化字串

通常在使用字串的時候,會對字串進行格式化,然後輸出或呼叫 一般我們使用替換標記對字串進行格式化 string str1 string.format add is 1,2,3 而且在c 中的替換標記可以以任意順序和次數出現在格式化字串中,但替換值是按順序排的,而且替換標記不能超出索引範圍 string...

字串格式化

例如 string s hello map.put target world string res format s,map 有什麼用呢?比如在some.properties中配置模板字串,但是如果用 這種方式,在配置了spring讀取properties注入變數的時候,這個變數就找不到會報錯。這個...