我想写这个
write!(f, "{ hash:{}, subject: {} }", self.hash, self.subject)
Run Code Online (Sandbox Code Playgroud)
但由于花括号对于格式化具有特殊意义,因此很明显我无法在没有转义的情况下放置外部花括号.所以我试图逃避它们.
write!(f, "\{ hash:{}, subject: {} \}", self.hash, self.subject)
Run Code Online (Sandbox Code Playgroud)
Rust也不喜欢这样.然后我读到了这个:
文字字符{,}或#可以包含在字符串中,前面加上\字符.由于\已经是Rust字符串中的转义字符,因此使用此转义的字符串文字将类似于"\ {".
所以我试过了
write!(f, "\\{ hash:{}, subject: {} \\}", self.hash, self.subject)
Run Code Online (Sandbox Code Playgroud)
但那也行不通.:-(
有一种很酷的方法可以采取这样的方式:
Customer Name - City, State - ID Bob Whiley - Howesville, TN - 322 Marley Winchester - Old Towne, CA - 5653
并将其格式化为这样的:
Customer Name - City, State - ID Bob Whiley - Howesville, TN - 322 Marley Winchester - Old Towne, CA - 5653
使用字符串格式命令?
如果一个人很长,我不会太沮丧.例如,我可以这样做:
Customer Name - City, State - ID Bob Whiley - Howesville, TN - 322 Marley Winchester - Old Towne, CA - 5653 Super Town person - Long Town Name, WA- 45648
提供一些背景信息.我有一个下拉框,显示与此非常相似的信息.现在我在下拉列表中创建项目的代码如下所示: …
我有一个属性的Python对象a,b,c.
我仍然使用旧的字符串格式,所以我通常手动打印:
print 'My object has strings a=%s, b=%s, c=%s' % (obj.a, obj.b, obj.c)
Run Code Online (Sandbox Code Playgroud)
最近,我的琴弦已获得超级长,我宁愿能够简单地传递对象转换成字符串格式的功能,是这样的:
print 'My object has strings a=%a, b=%b, c=%c'.format(obj)
Run Code Online (Sandbox Code Playgroud)
但是,语法不正确.这可能吗?
我真的很好奇:sPython 3中的格式字符串.文档说的!s是转换,:s就是这样format_spec.
它也表示!s会适用str(),但它没有说出类似的内容:s.我认为它们之间没有显着差异,但我想确定.谁能澄清这些?
一些代码示例:
print("{!s}".format("this"))
print("{:s}".format("that"))
# I want to be sure that these two are processed identically internally
Run Code Online (Sandbox Code Playgroud)
它仍然令人困惑,但让我用自己的(layperson)的话来结束.
type("whatever".format)永远str.!s如果要str在格式化之前将对象转换为使用,请使用.:s表示str在某些内部格式化过程中将对象(或转换的对象)视为对象.这是默认值format_spec.这里有什么不对吗?
有没有办法使用字符串格式化器来格式化数千,百万,数十亿到123K,123M,123B,而无需更改代码以将值除以千,百万或十亿?
String.Format("{0:????}", LargeNumber)
Run Code Online (Sandbox Code Playgroud) 我有以下24小时时间:
{'Wed': '10:30 - 21:00', 'Sun': '10:30 - 21:00', 'Thu': '10:30 - 21:00',
'Mon': '10:30 - 21:00', 'Fri': '10:30 - 22:00', 'Tue': '10:30 - 21:00',
'Sat': '10:30 - 22:00'}
Run Code Online (Sandbox Code Playgroud)
如何将其转换为12小时?
{'Wed': '10:30 AM - 09:00 PM', 'Sun': '10:30 AM - 09:00 PM',
'Thu': '10:30 AM - 09:00 PM', 'Mon': '10:30 AM - 09:00 PM',
'Fri': '10:30 AM- 10:00 PM', 'Tue': '10:30 AM- 09:00 PM',
'Sat': '10:30 AM - 11:00 PM'}
Run Code Online (Sandbox Code Playgroud)
我想智能转换"10.30"到"10.30 AM"&"22:30"来"10:30 PM" …
在C程序中打印单个字符时,我必须在格式字符串中使用"%1s"吗?我可以使用像"%c"这样的东西吗?
只是一个字符串.每次有单引号时添加\'.
尝试使用格式说明符来打印一个小于1而没有前导零的浮点数.我想出了一些黑客,但我认为有一种方法可以在格式说明符中删除前导零.我在文档中找不到它.
问题
>>> k = .1337
>>> print "%.4f" % k
'0.1337'
Run Code Online (Sandbox Code Playgroud)
劈
>>> print ("%.4f" % k) [1:]
'.1337'
Run Code Online (Sandbox Code Playgroud) 在Python中,编写它是很繁琐的:
print "foo is" + bar + '.'
Run Code Online (Sandbox Code Playgroud)
我可以在Python中做这样的事吗?
print "foo is #{bar}."
ruby python language-comparisons string-formatting string-interpolation
python ×5
string ×3
c# ×2
python-3.x ×2
backslash ×1
c ×1
character ×1
datetime ×1
formatting ×1
javascript ×1
jquery ×1
python-2.7 ×1
ruby ×1
rust ×1