-
2018-08-28 15:39:23
因为String.Format会识别{},来用参数代替,但是如果字符串中包含{或者},则需要用{{ 来代替字符 {,用}} 代替 }
例如
json.Append(String.Format("{0},{呵呵}", lineCount));
运行时会报错,
若用如下代码来代替,则可以正确运行:
json.Append(String.Format("{0},{{呵呵}}", lineCount));
注意用户的信息导致程序bug,quito城市输入,导致程序退出
更多相关内容 -
Python format字符串替换
2019-06-11 23:10:27s = '{name} has {n} messages.' myname = 'zhangphil' ...s2 = s.format(name=myname, n=myn) print(s2) print(s2.replace('phil', 'fly', 5)) x = 1.23456 print(format(x, '0.2f')) 输出: zhangp...s = '{name} has {n} messages.' myname = 'zhangphil' myn = 2019 s2 = s.format(name=myname, n=myn) print(s2) print(s2.replace('phil', 'fly', 5)) x = 1.23456 print(format(x, '0.2f'))
输出:
zhangphil has 2019 messages. zhangfly has 2019 messages. 1.23
-
第3.10节 Python强大的字符串格式化新功能:使用format字符串格式化
2019-04-23 18:48:55一、 引言 前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑...format格式字符串中使用大括号将格式符(也称为“转换说明符”、“替换字段”)括起来,对应...一、 引言
前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑历史代码的兼容性,方便大家理解前人留下的代码。老猿推荐大家新编码时使用format方法,因为该方法比前面2种方法更强大,也更容易理解。format方法是在Python2.6以后的版本才支持。
format格式字符串中使用大括号将格式符(也称为“转换说明符”、“替换字段”)括起来,对应的真实值通过format方法传递进来。format格式字符串有多种使用方法,我们接下来将逐一介绍。二、 最简单的format方法进行字符串格式化
最简单的办法就是格式字符串中的每个格式符就是一个空的大括号,然后按照大括号出现的顺序逐一从format传入的参数中取值。
继续以上节的学生信息为例:
student={'name':'小明','class':'20190301','score':597.5}
print('{} 班 {} 同学,总分:{}'.format(student['class'],student['name'],student['score']))
或:
s='{} 班 {} 同学,总分:{}'
print(s.format(student['class'],student['name'],student['score']))
三、 使用索引方式的format方法进行字符串格式化
这里所说的索引就是format参数每个参数出现的顺序号,从0开始计数。在格式字符串中,格式符就是用大括号括起来的索引,因此无需按格式符出现顺序传入参数到format,也可以一个format参数在格式字符串中作为多个格式符对应真实值。
举例:
student={'name':'小明','class':'20190301','score':597.5}
print('{1} 班 {0} 同学,小名:{0},总分:{2}'.format(student['name'],student['class'], student['score']))
#输出:20190301 班 小明 同学,小名:小明,总分:597.5
上面介绍的最简单方法实际上是索引方式的一种特例,就是每个格式符内的索引自动在其前一个格式符基础加1,第一个格式符的索引为0。我们称上一种方式为自动编号索引format方法,而现在介绍的这种方法称为人工编号索引format方法。
注意:自动编号索引format方法和人工编号索引format方法二者不能混用!为什么呢?大家请想一想。四、 使用关键字参数方式的format方法进行字符串格式化
使用关键字参数方式的format方法进行字符串格式化与使用模板字符串进行格式化方法的基础思想很像。
关键字参数方式就是在格式符内使用索引方式的format方法用索引的地方传入一个变量名,该变量名与使用模板字符串的$符号后面的关键字参数类似,后面在format参数中,使用:关键字参数=值的模式传入实际数据。
举例:
student={'name':'小明','class':'20190301','score':597.5}
print('{classno} 班 {name} 同学,小名:{name},总分:{score}'.format(classno=student['class'],name=student['name'],score=student['score']))
输出内容为:20190301 班 小明 同学,小名:小明,总分:597.5
注意:与模板字符串法类似,这里的关键字参数使用的是”classno”,而不是”class”。五、 使用关键字参数变量的属性或元素的format方法进行字符串格式化
除了一个个指定真实值对应的关键字参数外,还有一种方法可以简化format的参数,就是在格式化字符串中用点“.”或中括号“[]”来引用一个变量的属性或元素,而format只需要传入该变量就可以。
举例:
student={'name':'小明','class':'20190301','score':597.5}
s1='{st[class]}班{st[name]}总分:{st[score]}'.format(st=student)
执行后s1的内容为: '20190301班小明总分:597.5'六、 使用format_map方法进行字符串格式化
对使用字典作为关键字参数而格式化字符串中使用字典键值获取真实值的情况,除了使用前面介绍的2种方法,还可以使用format_map方法。相对format方法,有如下变化:
1、 调用方法从format改成了format_map;
2、 格式化字符串从“变量[键]”值方式变成了“键”方式;
3、 format_map的参数不需传入“关键字=真实值”,而是直接传入真实的字典值。
举例说明如下:
如上面使用format的方法如下:
student={'name':'小明','class':'20190301','score':597.5}
s1='{st[class]}班{st[name]}总分:{st[score]}'.format(st=student)
改用format_map方法后代码如下:
student={'name':'小明','class':'20190301','score':597.5}
s1='{class}班{name}总分:{score}'.format_map(student)
执行结果都是:'20190301班小明总分:597.5'七、 f字符串格式化方法
在Python 3.6中,如果关键字参数变量与替换字段同名,还可使用一种简写。在这种情况下,可使用f字符串——在字符串前面加上f,后面无需加format调用。
举例:
classno,name,score=student['class'],student['name'],student['score']
s=f"{classno} 班 {name} 同学,小名:{name},总分:{score}" #注意使用的是classno
print(s) #输出:20190301 班 小明 同学,小名:小明,总分:597.5
这种方法也支持变量.属性、变量[索引]的方法传递数据。举例:
l=[1,2,3]
s=f'{l[0]}' #s=’1’
这种方法也支持真实值来源一个字典:
如: s=f”{student[‘name’]}”
注意这里“name”用了单引号,否则会报错。以上介绍了四种使用format字符串格式化的方法,这些方法大部分不能混合使用,目前来看索引方式(包括自动编号与手动编号)与关键字参数方式可以混用,混用时使用索引的参数放在format参数的前面,关键字参数对应的真实值赋值表达式放在后面。总体来说老猿建议大家在一个字符串甚至一个模块中,尽量使用相同的字符串格式化方法。
老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。该系列文章同步发表于:
http://blog.sina.com.cn/learnpython 注:新浪暂停了pc的博客更新,等恢复后补齐
http://laoyuanpython.lofter.com/
https://me.csdn.net/LaoYuanPython
由于csdn对技术文章的支持度最好,推荐大家访问csdn。欢迎大家批评指正,谢谢大家关注!
-
在mysql中,DATE_FORMAT(date, format) 函数根据format字符串格式化date值。
2016-06-20 10:19:13在mysql中,DATE_FORMAT(date, format) 函数根据format字符串格式化date值。 %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y ...在mysql中,DATE_FORMAT(date, format) 函数根据format字符串格式化date值。%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59) //这个最TM坑人,以前一直记得是m,错了半天才弄明白咋回事
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 一个文字“%”。把字符串转为日期格式
SELECT DATE_FORMAT('2011-09-20 08:30:45', '%Y-%m-%d %H:%i:%S');把日期转为字符串格式
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S'); -
C# String.Format格式化字符串
2012-10-17 16:44:20C# String.Format格式说明 -
MySQL中根据format字符串格式化date类型字段值
2016-12-15 17:20:06MySQL中根据format字符串格式化date值在写sql语句时,很多时候我们需要将时间字段转换为我们需要的格式,下面是一些我们可能会使用到的时间格式: %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %M 英文月(January~... -
第3.11节 Python强大的字符串格式化新功能:format字符串格式化的格式控制
2019-04-24 19:02:06第3.11节 format字符串格式化的格式控制 一、 引言 上节介绍了四种format进行字符串格式化的方法,但都只介绍了真实值与格式符的位置映射关系,而没有介绍诸如宽度、对齐方式、精度控制等控制每个真实值显示格式的... -
python字符串format用法汇总
2020-05-01 08:49:24format是字符串内嵌的一个方法,用于字符串内容参数化 基础用法 最基础的用法,参数和大括号按顺序一一对应: >>> "{} is {}".format("Apple","red") 'Apple is red' 也可以通过给大括号标上索引的方式来... -
C#使用String.Format拼接字符串
2020-01-31 20:44:14在编程中,经常需要对字符串进行格式化。例如:编辑一段短信,一个SQL查询语句,都需要我们先写好格式,然后往里面填充内容。 常见的方法是直接使用+号拼接字符串,这样能够使用,但是麻烦,而且容易出错。实际上,... -
node.js string-format 字符串格式化
2018-03-05 18:49:17String::format is a small JavaScript library for formatting strings, based on Python's str.format(). For example:'"{firstName} {lastName}" <{email}>'.format(user) // => ... -
ASP VBScript 实现string.format 字符串格式化
2019-04-10 16:16:24'字符串格式化Format 'str 被格式化的字符串 'strArry 占位符数组,数组索引必须与占位符数字一致 function FormatString(str,strArry) dim tempStr,index tempStr=str index=0 for each val in strArry dim ... -
Java 中字符串的格式化 -- Format
2022-02-22 16:56:08字符串的格式化相当于将字符串按照指定的格式进行toString(),一般有两种形式: //使用指定的格式字符串和参数返回一个格式化字符串。 public static String format(String format, Object... args) { return new ... -
Python中format_map与format字符串格式化的区别
2019-06-27 23:33:03在Python3中使用format和format_map方法都可以进行字符串格式化,但format是一种所有情况都能使用的格式化方法,format_map仅使用于字符串格式中可变数据参数来源于字典等映射关系数据时才可以使用。 format_map的... -
JS 字符串format
2019-06-19 19:38:50例子如下: "<div>我是字符串A我的值是{0} ,我是字符串A我的值是{1} </div>".format("aaaaa", "bbbbb") 打印后: 我是字符串A我的值是aaaaa ,我是字符串A我的值是bbbbb ... -
python 字符串中的format() 方法
2019-08-27 20:48:20字符串中的format() 方法与其字符串的其他方法对比稍显复杂,在此对format() 方法进行介绍: # print('我的名字是%s,我今年%d岁了' % ('小明', 20)) # 字符串的format方法的使用 # 字符串里使用 {} 作为占位符 x =... -
javascript 实现string.format 字符串格式化
2018-11-27 10:47:59String.prototype.format =function () { var args = arguments; return this.replace(/\{(\d+)\}/g, function(m, i){ return args[i]; }); }; 使用 "abc{0}def{1}g".format ("1","... -
一文秒懂!Python字符串格式化之format方法详解
2021-04-27 04:29:30Python字符串格式化之format方法详解format是字符串内嵌的一个方法,用于格式化字符串。以大括号{}来标明被替换的字符串,一定程度上与%目的一致。但在某些方面更加的方便1、按照{}的顺序依次匹配括号中的值s = "{} ... -
format格式化输出、字符串对齐
2020-10-07 18:01:18format用法 相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’ 位置匹配 (1)不带编号,即“{}” (2... -
Java中数字转字符串使用String.format实现补0方法
2022-03-31 17:19:43Java中数字转字符串使用String.format实现补0方法 -
C# String.Format 各种字符串格式
2017-03-17 09:41:10C#的String.Format举例 stringstr1 =string.Format("{0:N1}",56789); //result: 56,789.0 stringstr2 =string.Format("{0:N2}",56789); //result: 56,789.00 stringstr3 =string.Form... -
字符串转数字,数字转字符串
2020-07-27 00:17:16字符串转整数,整数转字符串atoiatofatodsprintf函数 atoi atof atod sprintf函数 头文件: #include <stdio.h>...format – 这是字符串,包含了要被写入到字符串 str 的文本。它可以包含嵌入的 f -
java.lang.String.format实现补位字符串的操作
2018-08-29 16:30:37加入有一个字符串“1234abc567”,其中的字母abc可能需要根据不同环境需求而改变,这时可以使用format,这个方法也是在Fabric-sdk-java中经常使用的。 DEMO: System.out.println(format("123%s", &... -
python-格式化字符串
2020-12-11 03:17:41python格式化字符串有两种方式:1、百分号形式(%):默认右对齐 "-"表示多对齐常用的类型码: s -->字符串 d---->数字 f--->浮点数%s %d %d%[+-宽度.精度]类型码 #精度,就是小数点后保留的位数,默认是6位2... -
Python中字符串的格式化—format()方法
2020-12-07 11:43:44Python支持类似于C语言的printf()函数的格式化方法,也支持format()方法的格式化方法,因为Python更接近自然语言的复杂数据类型,无法全部通过类C的格式化方法,所以学Python着重使用format()方法进行字符串的格式化... -
字符串格式化:format函数
2018-02-08 11:13:37字符串格式化:format函数相比较.format和占位符%来说,我个人是比较喜欢.format的,因为它对于结构和排版来说都非常的整洁。.format在许多方面看起来更便利.对于%最烦人的是它无法同时传递一个变量和元组.你可能会想... -
VBA设置字符串格式——Format 函数
2020-01-12 16:50:01Format 函数 返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。 语法 Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) Format 函数的语法具有下面几个... -
JavaScript 字符串拼接的解决方案 模板字符串 String实例的format()方法 自定义字符串格式化format规则
2020-05-23 20:27:07文章目录场景Demo代码分析自定义字符串方法 场景 拼接多个变量,不想用字符串拼接符+,也不想用console.log(...args)依次打印多个参数。 那么有两种解决方法: ES6新特性中的模板字符串 String实例的format()方法。... -
C++ format string (格式化字符串)
2020-09-03 17:23:05为什么要单独做C++字符串格式化? C++中可以使用stringstream来格式化字符串如下: stringstream sstream; sstream << "I have made " << 500 << " dollars on this product."; string formated_... -
Python实现字符串对齐
2020-12-11 12:44:13你想通过某种对齐方式来格式化字符串 目录 1、解决方案 2、经验总结 1、解决方案 对于基本的字符串对齐操作,可以使用字符串的ljust(),rjust()和center()方法。比如: >>> text = 'Hello World' &... -
java string 字符串替换
2021-02-12 12:35:11i、replace方法该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:Strings=“abcat”;Strings1=s.replace(‘a’,‘1’);该代码的作用是将...