Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 在Scala字符串中插入字符_String_Scala_Scala Collections_Scalaz_Ropes - Fatal编程技术网

String 在Scala字符串中插入字符

String 在Scala字符串中插入字符,string,scala,scala-collections,scalaz,ropes,String,Scala,Scala Collections,Scalaz,Ropes,例如,对于任何给定的字符串 val s = "abde" 如何在b之后的位置2插入字符c:Char 更新 < P>多个有效插入和删除随机位置的Scala集合?(假设一个字符串可以转换为该集合。)试试这个 val (fst, snd) = s.splitAt(2) fst + 'c' + snd 证明了String和StringBuffer的有效替代方案,可在(非常)大的字符串中进行大量操作,尤其是在插入和删除方面 包括类绳[A](请参阅和)和类绳[A](请参阅)以及对绳串进行过多操作 Jav

例如,对于任何给定的
字符串

val s = "abde"
如何在
b
之后的位置2插入字符
c:Char

更新

< P>多个有效插入和删除随机位置的Scala集合?(假设一个
字符串可以转换为该集合。)

试试这个

val (fst, snd) = s.splitAt(2)
fst + 'c' + snd
证明了
String
StringBuffer
的有效替代方案,可在(非常)大的字符串中进行大量操作,尤其是在插入和删除方面

包括
类绳[A]
(请参阅和)和
类绳[A]
(请参阅)以及对绳串进行过多操作

Java中的实现包括。有关此Java实现的基准测试研究,请参阅

绳索上的出版物作为字符串的替代品可在

上找到。我们可以使用
字符串
上的方法,以便在特定索引处插入
字符串

"abde".patch(2, "c", 0)
// "abcde"
这:

  • 0
    (第三个参数)元素放到索引
    2

  • 在索引
    2


换句话说,这意味着
用字符串“c”

在索引2中修补0个元素,得到子字符串
[0,2)
[2,长度)
,然后执行
sub1+c+sub2
字符串sub1=s。子字符串(0,2)
给出“ab”别忘了字符串是immutable@enzyme一般来说,如果你经常使用长字符串,那么这就是正确的数据结构。IIRC,Scala在标准库中没有这样的东西。@om nom nom谢谢!看起来是一条路…寻找Scala rope实现…不确定
Vector
s是否适合你的r要求。检查中的性能特征