本文将为您提供关于Java等同于Python的format的详细介绍,我们还将为您解释的相关知识,同时,我们还将为您提供关于JavaScript是否等效于Python的format()函数?、Java
本文将为您提供关于Java等同于Python的format的详细介绍,我们还将为您解释的相关知识,同时,我们还将为您提供关于JavaScript是否等效于Python的format()函数?、Javascript相当于python的.format()、JavaScript等同于printf / String.Format、Java等同于PHP的mysql_real_escape_string()的实用信息。
本文目录一览:- Java等同于Python的format()(java和python互通吗)
- JavaScript是否等效于Python的format()函数?
- Javascript相当于python的.format()
- JavaScript等同于printf / String.Format
- Java等同于PHP的mysql_real_escape_string()
Java等同于Python的format()(java和python互通吗)
这是执行字符串替换的两种方法:
name = "Tshepang""my name is {}".format(name)"my name is " + name
如何使用Java做与第一种方法类似的操作?
答案1
小编典典name = "Paŭlo";MessageFormat f = new MessageFormat("my name is {0}");f.format(new Object[]{name});
或更短:
MessageFormat.format("my name is {0}", name);
JavaScript是否等效于Python的format()函数?
Python具有以下功能:
bar1 = ''foobar''bar2 = ''jumped''bar3 = ''dog''foo = ''The lazy '' + bar3 + '' '' + bar2 '' over the '' + bar1# The lazy dog jumped over the foobar
变成这个:
bar1 = ''foobar''bar2 = ''jumped''bar3 = ''dog''foo = ''The lazy {} {} over the {}''.format(bar3, bar2, bar1)# The lazy dog jumped over the foobar
JavaScript有这样的功能吗?如果没有,我将如何创建一个遵循与Python实现相同的语法?
答案1
小编典典使用该String.prototype.replace
方法的另一种方法,将“替换”功能作为第二个参数:
String.prototype.format = function () { var i = 0, args = arguments; return this.replace(/{}/g, function () { return typeof args[i] != ''undefined'' ? args[i++] : ''''; });};var bar1 = ''foobar'', bar2 = ''jumped'', bar3 = ''dog'';''The lazy {} {} over the {}''.format(bar3, bar2, bar1);// "The lazy dog jumped over the foobar"
Javascript相当于python的.format()
.format(*args,**kwargs)
前一个问题为’.format(* args)提供了一个可能的(但不是完整的)解决方案
JavaScript equivalent to printf/string.format
我希望能够做到
"hello {} and {}".format("you","bob" ==> hello you and bob "hello {0} and {1}".format("you","bob") ==> hello you and bob "hello {0} and {1} and {a}".format("you","bob",a="mary") ==> hello you and bob and mary "hello {0} and {1} and {a} and {2}".format("you","jill",a="mary") ==> hello you and bob and mary and jill
我意识到这是一个很高的订单,但也许某个地方有一个包含关键字参数的完整(或至少部分)解决方案.
哦,我听说AJAX和JQuery可能有这方面的方法,但我希望能够在没有这些开销的情况下完成它.
特别是,我希望能够将其与google doc的脚本一起使用.
谢谢
解决方法
如果没有,下面的代码适用于上面的所有情况,其语法与python的String.format方法非常相似.以下测试用例.
String.prototype.format = function() { var args = arguments; this.unkeyed_index = 0; return this.replace(/\{(\w*)\}/g,function(match,key) { if (key === '') { key = this.unkeyed_index; this.unkeyed_index++ } if (key == +key) { return args[key] !== 'undefined' ? args[key] : match; } else { for (var i = 0; i < args.length; i++) { if (typeof args[i] === 'object' && typeof args[i][key] !== 'undefined') { return args[i][key]; } } return match; } }.bind(this)); }; // Run some tests $('#tests') .append( "hello {} and {}<br />".format("you","bob") ) .append( "hello {0} and {1}<br />".format("you","bob") ) .append( "hello {0} and {1} and {a}<br />".format("you",{a:"mary"}) ) .append( "hello {0} and {1} and {a} and {2}<br />".format("you",{a:"mary"}) );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="tests"></div>
JavaScript等同于printf / String.Format
我正在寻找一种等效于C / PHP printf()
或C#/
Java程序员String.Format()
(IFormatProvider
适用于.NET)的JavaScript 。
我的基本要求是现在使用数字的千位分隔符格式,但是可以处理很多组合(包括日期)的东西会很好。
我意识到Microsoft的Ajax库提供了的版本String.Format()
,但我们不希望该框架的全部开销。
答案1
小编典典从ES6开始,您可以使用模板字符串:
let soMany = 10;console.log(`This is ${soMany} times easier!`);// "This is 10 times easier!
除此以外:
尝试sprintf()for JavaScript。
如果您真的想自己做一个简单的格式化方法,请不要先后进行替换,而要同时进行。
因为前面提到的其他替换提议中的大多数其他提议都失败了,而先前的替换字符串也包含这样的格式序列:
"{0}{1}".format("{1}", "{0}")
通常,您希望输出为,{1}{0}
但实际输出为{1}{1}
。
Java等同于PHP的mysql_real_escape_string()
是否有Java等价于PHP的mysql_real_escape_string()?
这是为了避免在将SQL注入尝试传递给Statement.execute()之前进行尝试。
我知道我可以改用PreparedStatement,但让我们假设这些只是一次声明,所以准备它们会导致性能降低。我已经将代码更改为使用PreparedStatement,但是考虑到现有代码的结构方式,escape()函数将使代码更改更易于查看和维护。我更喜欢易于维护的代码,除非有令人信服的理由说明其额外的复杂性。此外,数据库对PreparedStatement的处理方式也有所不同,因此这可能使我们面临以前从未遇到过的数据库错误,因此在发布到生产环境之前需要进行更多测试。
Apache StringEscapeUtils escapeSQL()仅对单引号进行转义。
后记:我继承的环境中有很多微妙之处,是我在问题中特意避免的。
需要考虑两点:
1)预备语句不是万能药,并且不能提供100%防止SQL注入的保护。一些数据库驱动程序使用不安全的字符串连接实例化参数化查询,而不是将查询预编译为二进制形式。另外,如果您的SQL依赖于存储过程,则需要确保存储过程本身不会以不安全的方式构建查询。
2)大多数准备好的语句实现将语句绑定到实例化该语句的数据库连接。如果您正在使用数据库连接池,则需要注意,
仅将预准备的语句引用与预准备的连接一起使用。一些池化机制确实透明地实现了这一点。否则,您也可以合并准备好的语句,或者(最简单但更麻烦的方法)为每个查询创建一个新的准备好的语句。
答案1
小编典典据我所知,没有“标准”的方式来做到这一点。
尽管您当前担心,但我强烈建议您使用准备好的语句。对性能的影响将是微不足道的-我们有一个类似的情况,每秒有数千条语句-其中大多数也是单发的。
您获得的安全性应比尚未出现的性能问题高得多。我认为这是“不要过早优化”的明确情况。
无论如何,如果您以后真的要发现性能问题,请仔细分析以确保准备好的语句是真正的原因,然后寻找替代方法。到那时为止,您应该省去尝试正确进行转义的麻烦。
当我推断您正在开发某种面向公众的网站时,这一点甚至更为重要-内部应用程序很少会获得足够的流量来关注性能。
关于Java等同于Python的format和的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于JavaScript是否等效于Python的format()函数?、Javascript相当于python的.format()、JavaScript等同于printf / String.Format、Java等同于PHP的mysql_real_escape_string()等相关内容,可以在本站寻找。
本文标签: