标签: string.format

如何将元组传递给 str.format()?

我正在尝试使用该str.format()函数在列中打印矩阵。

这是出错的行:

>>>> "{!s:4}{!s:5}".format('j',4,3)
'j   4    '
>>>> "{!s:4}{!s:5}".format(b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> b
('dat', 'is')
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:我想我知道问题是什么:我传递一个包含两个元素的元组,而不是作为一个包含一个元素的元组传递给函数,我的原始元组。因此出现此错误。所以问题是如何将这个元组传递给格式函数......

python string string.format tuples

0
推荐指数
1
解决办法
2089
查看次数

C#String.Format - 以自定义格式提供

我想知道这是否可能,如果是的话,如何实现它.

我知道该String.Format函数允许您为参数指定格式,如下所示:

String.Format("The Date is {0:yyyy-MM-dd}", DateTime.Now);
Run Code Online (Sandbox Code Playgroud)

但我想知道以所需格式提供的最佳方式(例如"yyyy-MM-dd")最终会得到一个如下工作的功能(不起作用,但显示我想要完成的工作) ):

static string CreateFileName(string filename, string DateTimeFormat = "yyyy-MM-dd")
{
    return String.Format("{0} - {1:{2}}", filename, DateTime.Now, DateTimeFormat);
}
Run Code Online (Sandbox Code Playgroud)

我想我可以放一个假的占位符并做String.Replace第一个:

string formatString = "{0} - {1:{FMT}}";
formatString = formatString.Replace("{FMT}", DateTimeFormat);
Run Code Online (Sandbox Code Playgroud)

但我很想知道是否有更好的方法来完成我想要做的事情.

谢谢!!

c# string string.format

0
推荐指数
1
解决办法
112
查看次数

Delimit连接列

我有以下问题.

我从一个sql存储过程收到一些列.在xls接口中以格式导出它们之后,我们将一些信息在连接后记录到sql表中.在c#我们使用该string.format方法连接一定数量的列:ex:

string.Format("{0}+{1}", "column1", "column2");

output: column1column2
Run Code Online (Sandbox Code Playgroud)

我希望能够在列之间插入管道或任何其他字符.输出应该是这样的:

column1|column2
Run Code Online (Sandbox Code Playgroud)

c# string.format concatenation

0
推荐指数
1
解决办法
66
查看次数

C# 小数格式仅显示小数部分

我正在寻找String.FormatToString()decimal得到小数部分。 '123.56m => "56"

c# string.format

0
推荐指数
1
解决办法
546
查看次数

获取java中方法的变量参数的数量

请注意以下潜在的愚蠢问题:

我有一个方法,使用String.format()方法格式化一些文本.目前,它接收两个参数,所以我有两个"%s"参数来创建我想要的任何文本.

但有人可能想用我的方法使用3个参数,或4或100.如何将传递的参数的长度作为varargs获取到String.format()方法的长度,以便在传递3个参数的情况下,将有3个"%s"而不是当前的2个; 或4或100.

如何获取传递给String.format()方法的参数数量,以便其中的文本根据需要自动添加"%s"?因为参数只是作为常规参数传递,而不是作为数组或类似的传递.如何获取参数数组的长度?

PS.这很重要 - 我不是在谈论获取(String ...参数) - 没有这样的事情 - 当有人调用你的方法时,它使用实际参数,"String ... arguments"不可用于抓取和获得它的长度.

我意识到这是一个制定得很糟糕的问题,因为我没有在我面前的代码进一步解释,但这已经困扰了我很长一段时间 - 你如何获得传递给方法的参数数量?

对于这样的事情:

String.format(SomeObject.SomeString, param1, param2,...,param 100)
Run Code Online (Sandbox Code Playgroud)

编辑:SomeObject.SomeString声明如下:

String SomeString = "Blah blah %s blah blah blah %s";

所以它有两个正在硬编码的参数.

当有人使用它时,你如何自定义SomeObject.SomeString以便"知道"已经将多少参数传递给String.format()方法(以便SomeObject.SomeString知道动态添加多少%s)?

java string.format variadic-functions

-1
推荐指数
2
解决办法
5265
查看次数

字符串格式错误"输入字符串的格式不正确."

我使用以下代码行收到此错误,

int numberStored = 9;
record.VALUE = string.Format("{\"FIELDS\":[{\"ELEMENT_ID\":\"275887826\",\"VALUE\":\"{0}\"}]}", numberStored.ToString(), 0);
Run Code Online (Sandbox Code Playgroud)

如果我替换{0}并将9直接放入,这样可以正常工作,但显然我不希望它像这样硬编码.我能看到的这个问题以前的答案似乎没有帮助我.

c# string.format string-formatting

-3
推荐指数
1
解决办法
7182
查看次数

从String.AppendFormat中的另一个参数调用一个参数

我有一种情况需要做以下事情 -

的String.Format( "{0}",{1}, "嗨!")

(这只是我想要实现的一个非常简单的版本)

我想要的输出是 -

嗨!

我得到的输出是 -

{1}

String.Format("{0}","{1} Atul {2}","嗨!","Kumar")我希望输出为 - Hi Atul Kumar

vb.net string.format

-5
推荐指数
1
解决办法
84
查看次数