Java 什么时候开始在sprintf上使用字符串替换?
首先,我可能以错误的方式使用sprintf 我正在制作一个以字符串作为配置的框架插件。字符串中有一些内容需要交换,例如,一个字符串将是路径模板:Java 什么时候开始在sprintf上使用字符串替换?,java,php,c++,printf,Java,Php,C++,Printf,首先,我可能以错误的方式使用sprintf 我正在制作一个以字符串作为配置的框架插件。字符串中有一些内容需要交换,例如,一个字符串将是路径模板: [root]/[template_directory]/something/specific/[theme_name].htm 上面的例子非常具体,有很多变量需要交换 对于较少的变量,我一直这样做: sprintf('%s/some/file/path/theme.htm',documentroot); 然而,我想知道sprintf是否更难用于更多
[root]/[template_directory]/something/specific/[theme_name].htm
上面的例子非常具体,有很多变量需要交换
对于较少的变量,我一直这样做:
sprintf('%s/some/file/path/theme.htm',documentroot);
然而,我想知道sprintf是否更难用于更多变量
在第一个示例中,我应该为每个变量使用字符串替换,还是应该使用sprintf?还是我使用sprintf的错误太可怕了
非常感谢您的建议 也许您可以在std::string中使用replace: 请看以下示例:
祝你好运 也许您可以在std::string中使用replace: 请看以下示例:
祝你好运可能使用C++的复制品?你考虑过使用stringstreams吗?@Hurkyl这并不是特定于语言的;我用PHP编写代码,但sprintf和string replace有几种语言。@Kyle:我误解了这个问题:(我认为这取决于您使用的语言。在C语言中,您使用snprintf()/strncat())在C++中,你使用STD::Stry/STD::String String,在java和PHP中使用最好的语言。选择一种语言。你可能使用C++。你考虑过使用String FieldS吗?@ Hurkl这不是语言特定的;我在PHP中做代码,但是SaveTf和String替换用几种语言。@凯尔:我误解了这个问题。在C++中,你使用Std::String/STD::String String,在java和PHP中使用最好的语言。所以选择一种语言。
std::string phrase = "[root]/[template_directory]/something/specific/[theme_name].htm";
std::string sought = "[root]";
std::string replacement = "newROOT";
phrase.replace(phrase.find(sought),
sought.size(),
replacement);