c#中”{0},{1}“是占位符么?还有什么种类的占位符?分别在什么情况下使用? 求高手解答,万分感谢!

作者&投稿:脂包 (若有异议请与网页底部的电邮联系)
C#中都有哪些占位符和分割符,他们的具体用法是什么?~

不知道你想问什么?是说格式化字串吗?还是正则表达式?
格式化常用的:
{0}{1}..字串里的占位符
用法:string.Foramt("{0}是个{1}","宝宝","好孩子");//得到:宝宝是个好孩子

"yyyy-MM-dd HH:mm:ss"、"yyyy/MM/dd HH:mm:ss"... 日期时间格式化,更多请参考 DateTimeFormatInfo 类
用法:DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//得到当前时间且格式化为(示例):2009-2-12 13:38:30

".00"数字格式化,更多请参考 NumberFormatInfo 类
用法:3.1415926f.ToString(".00");//得到:3.14

正则表达式常用的:

字符类
说明

[ 字符分组 ]
(正字符分组。) 匹配指定字符分组内的任何字符。

字符分组由串连的一个或多个原义字符、转义符、字符范围或字符类组成。

例如,若要指定所有元音字母,使用 [aeiou]. 若要指定所有标点符号和十进制数字符,使用代码 [\p{P}\d]。

[^ 字符分组 ]
(负字符分组。) 匹配不在指定字符分组内的任何字符。

字符分组由串连的一个或多个原义字符、转义符、字符范围或字符类组成。前导符 (^) 是强制的,指示字符分组为负字符分组,而不是正字符分组。

例如,若要指定除元音字母以外的所有字符,使用 [^aeiou]. 若要指定除标点符号和十进制数字符以外的所有字符,使用 [^\p{P}\d]。

[ 第一个字符 - 最后一个字符 ]
(字符范围。) 匹配字符范围中的任何字符。

字符范围是一系列连续的字符,定义的方法是:指定系列中的第一个字符,连字符 (-),然后指定系列中的最后一个字符。如果两个字符具有相邻的 Unicode 码位,则这两个字符是连续的。可以串连两个或更多字符范围。

例如,若要指定从“0”至“9”的十进制数范围、从“a”至“f”的小写字母范围,以及从“A”至“F”的大写字母范围,使用 [0-9a-fA-F]。

.
(句点字符。) 匹配除
以外的任何字符。如果已用 Singleline 选项做过修改,则句点字符可与任何字符匹配。有关更多信息,请参见正则表达式选项。

请注意,正字符分组或负字符分组中的句点字符(方括号内的句点)将被视为原义句点字符,而非字符类。

\p{ 名称 }
匹配通过名称(例如 Ll、Nd、Z、IsGreek 和 IsBoxDrawing)指定的 Unicode 通用类别或命名块中的任何字符。

\P{ 名称 }
匹配不在名称中指定的 Unicode 通用类别或命名块中的任何字符。

\w
与任何单词字符匹配。等效于 Unicode 通用类别 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}\p{Lm}]。如果通过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \w 等效于 [a-zA-Z_0-9]。

\W
与任何非单词字符匹配。等效于 Unicode 通用类别 [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}\p{Lm}]。如果通过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \W 等效于 [^a-zA-Z_0-9]。

\s
与任何空白字符匹配。等效于转义符和 Unicode 通用类别 [\f
\v\x85\p{Z}]。如果通过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \s 等效于 [ \f
\v]。

\S
与任何非空白字符匹配。等效于转义符和 Unicode 通用类别 [^\f
\v\x85\p{Z}]。如果通过 ECMAScript 选项指定了符合 ECMAScript 的行为,则 \S 等效于 [^ \f
\v]。

\d
与任何十进制数字匹配。对于 Unicode 类别的 ECMAScript 行为,等效于 \p{Nd},对于非 Unicode 类别的 ECMAScript 行为,等效于 [0-9]。

\D
与任何非数字字符匹配。对于 Unicode 类别的 ECMAScript 行为,等效于 \P{Nd},对于非 Unicode 类别的 ECMAScript 行为,等效于 [^0-9] 。

限定符
说明

*
指定零个或更多个匹配;例如 \w* 或 (abc)*。等效于 {0,}。

+
指定一个或多个匹配;例如 \w+ 或 (abc)+。等效于 {1,}。

?
指定零个或一个匹配;例如 \w? 或 (abc)?。等效于 {0,1}。

{ n }
指定恰好 n 个匹配;例如 (pizza){2}。

{ n ,}
指定至少 n 个匹配;例如 (abc){2,}。

{ n , m }
指定至少 n 个但不多于 m 个匹配。

*?
指定尽可能少地使用重复的第一个匹配(等效于 lazy *)。

+?
指定尽可能少地使用重复但至少使用一次(等效于 lazy +)。

??
指定使用零次重复(如有可能)或一次重复 (lazy ?)。

{ n }?
等效于 {n} (lazy {n})。

{ n ,}?
指定尽可能少地使用重复但至少使用 n 次 (lazy {n,})。

{ n , m }?
指定介于 n 次和 m 次之间、尽可能少地使用重复 (lazy {n,m})。

C#中的占位符一般用于C#正则表达式,一个占位符就表示这个位置上只能有一个字符。跟大部分语言的表达式写法一样.

class Program
{
static void Main(string[] args)
{
string firstname = "三";
string secondname = "张";
Console.WriteLine("{0},{1}",firstname,secondname);
Console.Read();

}
}

望楼主先看看这段小代码,很容易的看出为避免在双引号语句中的添加变量错误,所以设置了{0}似的{数字}的占位符,每一个数据和后面的变量是对应的,如果可以的话(变量足够多)也可以在后面加上{0},{1},{2}要保证的是与后面的数据对应,顺序保证不能出错

var str = ' str_0 : str_1 : str_2 : ';

function formatStr(){

var ary = [];

for(i = 1 ; i < arguments.length ; i++){

ary.push(arguments[i]);
}

return arguments[0].replace(/\/g,function(m ,i){
return ary[i];
});

}

alert(formatStr(str , 0 , 1 , 2));

没有了 占位符就这么用

没了。。


永登县17541669512: C#中{0}{1}都是什么意思 在Console.WriteLine中见到的 -
扶炒西点: 这个叫做占位符,所谓占位符,就像是挤公交抢座,先占好位置,然后再使用真正的值来替换掉它.例:string.Format("这是第{0}个占位符,这是第{1}个占位符.","1","2"); 输出结果;这是第1个占位符,这是第2个占位符 占位符中的数字代表后面参数列表的下标,从0开始,就像数组的下标一样.一个占位符可以出现多次.比如:string.Format("这是{0}个占位符,这是另外{0}个占位符.","1"); 输出结果;这是1个占位符,这是另外1个占位符

永登县17541669512: c#中”{0},{1}“是占位符么?还有什么种类的占位符?分别在什么情况下使用? 求高手解答,万分感谢! -
扶炒西点: class Program { static void Main(string[] args) { string firstname = "三"; string secondname = "张"; Console.WriteLine("{0},{1}",firstname,secondname); Console.Read(); } } 望楼主先看看这段小代码,很容易的看出为避免在双引号语句中的添加变量错误,所以设置了{0}似的{数字}的占位符,每一个数据和后面的变量是对应的,如果可以的话(变量足够多)也可以在后面加上{0},{1},{2}要保证的是与后面的数据对应,顺序保证不能出错

永登县17541669512: C#中为何总是用{0}?这个是什么?用{1}怎么就报错? -
扶炒西点: string.Format("这是格式化{0}的意思",占位符) {0}表示,"占位符"这个3个字,0是第一位的索引,1就是第二位 例如 string.Format("这是格式化{0}的{1}",占位符,意思) 你没有设置值就是NULL

永登县17541669512: 在c#程序中出现〔0〕,是什么意思啊? -
扶炒西点: 是{0} 这个东西是占位符, {0}表示第一个位置 {1}表示第二个位置 后面的参数值会对应放到相应位置上 比如 Console.WriteLine("a:{0}, b:{1}, c:{2}", 1,2,3); 输出为: a:1, b:2, c:3

永登县17541669512: c#输出中的{0}什么意思 -
扶炒西点: 不能用其它的数字代,它必须是要按这样一个顺序,它只是相当于一个占位的东西吧,后面有多少个要输出的,前面就按这样的顺序排列

永登县17541669512: c#中 {0} {123456789} {1}什么意思 -
扶炒西点: 你给的不是很清楚,{0}一般表示第一个参数,{1}表示第二个参数 {123456789}不了解

永登县17541669512: c#中的{0}什麽意思? -
扶炒西点: {0}中的“0”是占位符,就是用来替代所要表示的东西. 例:我要输出一句话:“某某是第几个登陆者“console.writeline("{0}是第{1}个登陆者",stringname,intshu); 其中的1和0 都是用来替代表示后面所要输出的内容的. 希望你看的懂.

永登县17541669512: 在C#里这些符号是什么意思
扶炒西点: 换个方式: Console.WriteLine("Name with indwx of {0}:{1}", '变量1', '变量2'); 简单的来说就是在命令行中输出Name with indwx of变量1:变量2 意思就很简单咯,{0}代表第一个参数,{1}代表第二个参数,以此类推.

永登县17541669512: C#问题 Console.WriteLine("{0}\n{1}",MyInteger,MyInteger1) -
扶炒西点: {0},{1}....专业术语叫占位符!用于将后面的参数按占位符的序号填充到字符串中!

永登县17541669512: c#语言中占位符的作用以及怎样使用
扶炒西点: 其实后面的a,b 是按顺序填充前面的{0} 和 {1} 后面还可以有n个,有几个后面就跟几个值 Console.Writeline(a,b)这种写法是错误的,你可以改为Console.Writeline(a+b) 你可以看看这个 http://hi.baidu.com/zhzhy917/blog/item/fe18f212a89dacc8c3fd7814.html

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网