我正在寻找一种漂亮的印刷方式Map
.
map.toString()
给我: {key1=value1, key2=value2, key3=value3}
我希望在我的地图条目值中有更多的自由,我正在寻找更像这样的东西: key1="value1", key2="value2", key3="value3"
我写了这段小代码:
StringBuilder sb = new StringBuilder();
Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Entry<String, String> entry = iter.next();
sb.append(entry.getKey());
sb.append('=').append('"');
sb.append(entry.getValue());
sb.append('"');
if (iter.hasNext()) {
sb.append(',').append(' ');
}
}
return sb.toString();
Run Code Online (Sandbox Code Playgroud)
但我确信有更优雅和简洁的方法来做到这一点.
我有一个字符串,表示我想要打印的非缩进XML.例如:
<root><node/></root>
Run Code Online (Sandbox Code Playgroud)
应成为:
<root>
<node/>
</root>
Run Code Online (Sandbox Code Playgroud)
语法突出显示不是必需的.为了解决这个问题,我首先转换XML以添加回车符和空格,然后使用pre标签输出XML.为了添加新行和空格,我编写了以下函数:
function formatXml(xml) {
var formatted = '';
var reg = /(>)(<)(\/*)/g;
xml = xml.replace(reg, '$1\r\n$2$3');
var pad = 0;
jQuery.each(xml.split('\r\n'), function(index, node) {
var indent = 0;
if (node.match( /.+<\/\w[^>]*>$/ )) {
indent = 0;
} else if (node.match( /^<\/\w/ )) {
if (pad != 0) {
pad -= 1;
}
} else if (node.match( /^<\w[^>]*[^\/]>.*$/ )) {
indent = 1;
} else {
indent = 0;
}
var padding = …
Run Code Online (Sandbox Code Playgroud) 我正在修复一些PHP脚本,我错过了ruby的漂亮打印机.即
require 'pp'
arr = {:one => 1}
pp arr
Run Code Online (Sandbox Code Playgroud)
将输出{:one => 1}.这甚至适用于相当复杂的对象,并且更容易挖掘到未知脚本.有没有办法在PHP中复制此功能?
在Java中用逗号分隔列表最清晰的方法是什么?
我知道几种方法,但我想知道最好的方法是什么("最佳"意味着最清晰和/或最短,而不是最有效.
我有一个列表,我想循环它,打印每个值.我想在每个项目之间打印一个逗号,但不是在最后一个项目之后(也不是在第一个项目之前).
List --> Item ( , Item ) *
List --> ( Item , ) * Item
Run Code Online (Sandbox Code Playgroud)
样品溶液1:
boolean isFirst = true;
for (Item i : list) {
if (isFirst) {
System.out.print(i); // no comma
isFirst = false;
} else {
System.out.print(", "+i); // comma
}
}
Run Code Online (Sandbox Code Playgroud)
示例解决方案2 - 创建子列表:
if (list.size()>0) {
System.out.print(list.get(0)); // no comma
List theRest = list.subList(1, list.size());
for (Item i : theRest) {
System.out.print(", "+i); // comma
}
}
Run Code Online (Sandbox Code Playgroud)
样品溶液3:
Iterator<Item> i = …
Run Code Online (Sandbox Code Playgroud) 我正在编写批处理脚本以美化JavaScript代码.它需要在Windows和Linux上运行.
如何使用命令行工具美化JavaScript代码?
javascript multiplatform pretty-print command-line-interface
如果我想在屏幕上显示GitHub中的markdown文件,例如:https: //github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md
那我该怎么做呢?在生成的github html页面(我保存)中需要更改哪些代码才能使打印输出符合降价的外观和感觉?
到目前为止我唯一的线索就是这个:https: //makandracards.com/makandra/4947-how-to-print-github-wiki-pages 但它更像是一种功利主义(非程序化)解决方案真的有用,因为正在使用的降价解释器不像GitHub网站上运行的解释器那样宽容,所以它无法解决.
我喜欢Python中的pprint模块.我经常使用它进行测试和调试.我经常使用width选项来确保输出在我的终端窗口中很好地适应.
它一直运行良好,直到他们在Python 2.7中添加了新的有序字典类型(我非常喜欢的另一个很酷的功能).如果我试着漂亮地打印一个有序的字典,它就不能很好地显示出来.而不是将每个键值对放在它自己的行上,整个事物显示在一条长行上,它包含很多次并且难以阅读.
这里有没有人有办法让它打印得很好,就像旧的无序词典一样?如果我花了足够的时间,我可能会想出一些东西,可能使用PrettyPrinter.format方法,但我想知道这里是否有人知道解决方案.
更新:我为此提交了一份错误报告.您可以在http://bugs.python.org/issue10592上看到它.
我正在寻找满足以下要求的HTML漂亮打印机的建议:
类的项目涉及解析Twitter JSON数据.我正在获取数据并将其设置到文件中没有太多麻烦,但它只是一行.这对我正在尝试的数据操作很好,但是文件非常难以阅读,我无法很好地检查它,使得为数据操作部分编写代码非常困难.
有没有人知道如何从Python中做到这一点(即不使用命令行工具,我无法工作)?到目前为止,这是我的代码:
header, output = client.request(twitterRequest, method="GET", body=None,
headers=None, force_auth_header=True)
# now write output to a file
twitterDataFile = open("twitterData.json", "wb")
# magic happens here to make it pretty-printed
twitterDataFile.write(output)
twitterDataFile.close()
Run Code Online (Sandbox Code Playgroud)
注意我很感激有人指着我简单的文档等等,但正如我所说,我已经看过并继续需要帮助.一个真正有用的回复将比那里的例子更详细和更具说明性.谢谢
另外: 在Windows命令行中尝试此操作:
more twitterData.json | python -mjson.tool > twitterData-pretty.json
Run Code Online (Sandbox Code Playgroud)
结果如下:
Invalid control character at: line 1 column 65535 (char 65535)
Run Code Online (Sandbox Code Playgroud)
我会给你我正在使用的数据,但它非常大,你已经看到了我用来制作文件的代码.
我有两个函数,一个生成消息Starting initialization...
,另一个生成检查返回代码和输出"Ok"
,"Warning"
或者"Error"
.但是,生成的输出具有不同的长度:
Starting initialization...Ok.
Checking init scripts...Ok.
Run Code Online (Sandbox Code Playgroud)
我怎么能得到这样的东西:
Starting initialization... Ok.
Checking init scripts... Ok.
Run Code Online (Sandbox Code Playgroud) pretty-print ×10
java ×2
javascript ×2
python ×2
c ×1
dictionary ×1
github ×1
html ×1
json ×1
markdown ×1
php ×1
pprint ×1
printf ×1
python-2.7 ×1
string ×1
tidy ×1
twitter ×1
xml ×1
xslt ×1