我习惯于使用 printf,但我的研究使我相信我可以使用 String.Format 在 JTextArea 中设置表,并且它本质上是同一件事。这是一款节奏游戏应用程序。我的代码是:
private final String HEADER = "%-10s%-15s%-90s%-9s%-6s%-9s%-7s%-6s%-9s";
...
ranks.setText("");
ranks.append(String.format(HEADER + "\n", "Rank", "Difficulty", "Song Name", "Perfects", "Goods", "Averages", "Misses", "Boos", "MaxCombo"));
ranks.append(analyze.toString());
...
return String.format("%-10d%-15d%-90s%-9d%-6d%-9d%-7d%-6d%-9d\n ", rank, difficulty, songName, perfects, goods, averages, misses, boos, maxCombo);
Run Code Online (Sandbox Code Playgroud)
对于数组中的每个组件,analyze.toString 返回显示的字符串。我的格式字符串是相同的,标题中的所有内容都是字符串,表中的大多数内容都是整数,所以我不知道为什么我的表看起来像这样:

例如,我已经格式化了字符串,123 456 000$并且我知道该字符串的格式{0:### ### ##0}$。我想int value = 123456000;使用已知格式从 C# 中获取该字符串。
我怎样才能做到这一点?
我很难让“标记”出现。我不知道如何.format()正确使用来显示字符串内的标记。
变量是否需要位于字符串中的特定位置?第一次尝试掌握这一点。抱歉,如果我问的是基本问题。
继续得到:""".format(marker) KeyError: 'font-family'。不确定问题出在哪里。
marker = "AUniqueMarker"
# Create the body of the message (a plain-text and an HTML version).
text = "This is a test message.\nText and html."
html = """\
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 15">
<meta name=Originator content="Microsoft Word 15">
<link rel=File-List href="Law_files/filelist.xml">
<!--[if gte mso 9]><xml>
# (...)
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style …Run Code Online (Sandbox Code Playgroud) 例如:
String login = String.Format("computer={0}&ver={1}.{2}.{3}&from={4}&realcomputername={5}&type={6}&Channels={7}&Hotkeys={8}&ID={9}\r\n",
serviceConfig.Computer,
serviceConfig.Version.Major,
serviceConfig.Version.Minor,
serviceConfig.Version.Build,
userName,
Environment.MachineName,
type,
serviceConfig.ChannelsString,
serviceConfig.HotKeysString,
serviceConfig.AlarmGroupName);
Run Code Online (Sandbox Code Playgroud)
这不会产生非常易读的代码,并且随着越来越多的参数被添加,它看起来更加丑陋,并且更难以找到哪个参数在哪个槽中.
我知道这是一个noob问题,我想我只是要求如何格式化文本以使其更具可读性,但如果有更好的方法可以做到这一点,我也想知道.
我相信这对你们来说是一个简单的问题,但我不知道这位开发人员在做什么.
name = String.Format(MyStringBuilder + "");
Run Code Online (Sandbox Code Playgroud)
如果我将其转换为VB,我会收到消息"operator +未定义类型system.text.stringbuilder和string".如果我使用&,同样的事情.
我正在构建文档从模板引擎.在某些时候,我需要在Reg Exp组上进行匹配,并将模板文本替换为db中的内容.
我最初硬编码了我的RegExp,做了类似的事情:
Regex r = new Regex(@"{DocSectionToggle::(?<ColumnName>\w+)::(?<ResponseValue>.+)}\n\[\[(?<SectionContent>.+)\]\]", RegexOptions.Multiline);
Run Code Online (Sandbox Code Playgroud)
道歉:它会进行群组捕获,因此语法不是最漂亮的.
只是为了让事情变得更整洁,因为我想'保持web.config或其他地方的模式,我'''''''''''''''''''''''''''''''''''
string _regexp_DocSectionToggle = @"{DocSectionToggle::{0}::{1}}\n\[\[{2}\]\]";
/* Reg Exp Patterns for group capture */
string _rxCol = @"(?<{ColumnName}>\w+)";
string _rxResp = @"(?<{ResponseValue}>.+)";
string _rxSectContent = @"(?<{SectionContent}>.+)";
Regex r = new Regex( string.Format(_regexp_DocSectionToggle,
_rxCol,
_rxResp,
_rxSectContent),
RegexOptions.Multiline
);
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:'输入字符串格式不正确'.
谁能说出我的原因?这是一个限制string.Format(...)吗?
谢谢你的期待.
数字
string a = String.Format("{0:#/#}",12)
Run Code Online (Sandbox Code Playgroud)
输出:1/2
但是如何将其转换为字符串假设
String b=String.Format("{0:###-#}","test")
Run Code Online (Sandbox Code Playgroud)
输出:测试
预期产出:tes-t
我有像这样的价值观
1,000
25,000
500,000
Run Code Online (Sandbox Code Playgroud)
如果没有逗号,需要转换上面的值
1000
25000
500000
Run Code Online (Sandbox Code Playgroud)
如何在C#中实现这一目标?
如何得到这个的反向输出 -
string.Format("{0:n}", 999999)
Run Code Online (Sandbox Code Playgroud) 我有一个用c#编写的http服务器,我在c#中写了一些html.我在使用XmlWiter编写一些jQuery时出现了引号问题.
这个有效
xmlWriter.WriteRaw(@" $(document).ready(function (){ $("".fill-div"").attr(""href"",""Photo by Kelly Clark"");});");
Run Code Online (Sandbox Code Playgroud)
但是这个并不是我想要做的
xmlWriter.WriteRaw(string.Format(@" $(document).ready(function (){ $("".fill-div"").attr(""href"",""{0}"");});", backUrl));
Run Code Online (Sandbox Code Playgroud)
backUrl是我在c#函数中得到的局部变量,我需要将其设置为链接
我正在执行一个SQL查询并将其存储在数据集中,从那里我发送电子邮件,一切都按预期工作,除了这个时间附加到日期12:00:00 Am,它看起来真的很奇怪的电子邮件,我知道发生这种情况是因为该列的数据类型是日期,它所附加的对象将其存储为日期时间因此被重置为午夜但我直接查询sql并从数据表中检索值但它仍然附加时间它.无论如何要解决这个问题我尝试了下面但它不会工作:
string conn = ConfigurationManager.ConnectionStrings["WorkOrderConnectionString3"].ToString();
SqlConnection sqlconn = new SqlConnection(conn);
cmd.Connection = sqlconn;
sqlconn.Open();
cmd.CommandType = CommandType.Text;
String getdatasql = "SELECT WorkOrderNum, Requestor, Date, Department, CompletionDate, MachineDescription, MachineLocation," +
"[Type of Work Order], [Work Required], [WorkPerformed / PartsUsed], [Work Completed By :], [Maint. Supv. Approval]," +
" [Work Comp Date], [Supv Approval Date], Status, [Maint. Supv. Approval Date]" +
"FROM Master WHERE ([Type of Work Order] = N'General') AND (WorkOrderNum = @rockbottom) AND Status = 'Complete' ORDER BY WorkOrderNum …Run Code Online (Sandbox Code Playgroud)