问题:创建一个String包含的n重复项String s。
琐碎的方法将反复地将 String
final int n = ... final String s = ... String result = ""; for (int i = 0; i < n; i++) { result += s; }
这会创建n包含1的新字符串实例,以n重复s生成,导致运行时为。O(s.length() * n²) = O(s.length() * (1+2+...+(n-1)+n))
为了避免这种情况,StringBuilder应该使用它来创建Stringin :O(s.length() * n)
final int n = ... final String s = ... StringBuilder builder = new StringBuilder(); for (int i = 0; i < n; i++) { builder.append(s); } String result = builder.toString();
如何检查一个字符串是否在另一个字符串中,但匹配项需要在前面,而不是中间或最后。例如,a="
问题内容: 在Perl中,我可以使用以下语法多次重复一个字符: 有没有简单的方法可以在Javascript中完成此操作?我显然可以使用一个函数,但是我想知道是否有任何内置方法或其他一些巧妙的技术。 问题答案: 如今,字符串方法几乎在所有地方都已实现。它不在InternetExplorer中。)因此,除非需要支持较旧的浏览器,否则只需编写以下内容: 在之前,我们使用了此技巧: (请注意,长度为11的
问题内容: 是否可以每个字符分割一个字符串? 例如,假设我有一个包含以下内容的字符串: 我怎样才能使它看起来像这样: 问题答案: 192 为了完整起见,你可以使用正则表达式执行此操作: 对于字符的奇数,你可以执行以下操作: 你还可以执行以下操作,以简化较长块的正则表达式: re.finditer如果字符串很长,则可以使用它逐块生成。
问题内容: 我是regex的新手,我正在尝试验证用户输入的字段是否以逗号分隔的格式输入周末,并且该日使用2个字符的缩写。我开发了以下无法正常运行的模式: ^(fr | sa | su | mo | tu | we | th)?(?(1)(,fr |,sa |,su |,mo |,tu |,we |,th)){0,5} $ 此模式成功匹配所需的输入,如下所示: fr 莫 fr,sa fr,tu su
问题内容: 有没有简单的方法可以向现有字符串中添加n次字符或另一个字符串?我无法找到任何东西,等等。 问题答案: 您可以使用Java 8流API来执行此操作。以下代码从创建字符串:
问题内容: java中有没有一种方法可以用指定数量的指定字符创建字符串?就我而言,我需要创建一个包含10个空格的字符串。我当前的代码是: 有没有更好的方法来完成同一件事。特别是我想快速(在执行方面)。 问题答案: for循环将由编译器优化。在像您这样的情况下,您无需自己担心优化。信任编译器。 顺便说一句,如果有一种方法可以创建一个包含n个空格字符的字符串,那么它的编码方式就和您刚才一样。