成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

C 字符串数组拼接

Q1:如何将字符串与数组拼接起来

用c#或java这样的语言直接把数组遍历转换为字符串然后与目标字符串再连接就行
例如java
int[] temp = {1,22,3990,23,4};
StringBuilder objString = new StringBuilder("字符串连接数组");
for(int i=0;i{
objString.append(temp[i]);
}

Q2:matlab怎么将字符串数组拼接

Matlab对字符串数组拼接可以使用 stract 函数来实现。

其具体如下:

s=strcat(s1,...,sN)

例子如下。

s1=Good;
s2=morning;
s=strcat(s1,s2)

其结果为:

s=
Goodmorning

如果是拼接数组,可以用以下的操作

s1={abcde,fghi};
s2={jkl,mn};
s=strcat(s1,s2)

其结果为:

s=
abcdejklfghimn

Q3:java 如何将split拆分的数组拼接成字符串

publicclassHello{
publicstaticvoidmain(String[]args){
Stringstr="a,b,c,d";
String[]arr=newString[str.replaceAll(",","").length()];
Stringresult="";
for(inti=0;iarr[i]=str.replaceAll(",","").substring(i,(i+1));
}
for(inti=0;iif(i==0){
result+=arr[i]+",";
}elseif(i==arr.length-1){
result+=arr[i];
}else{
result+=""+arr[i]+",";
}
}
System.out.println(result);
}
}
//运行结果:
a,b,c,d

Q4:探讨js字符串数组拼接的性能问题

我们知道,在js中,字符串连接是性能最低的操作之一。
例如:

复制代码 代码如下:
var text="Hello";
text+=" World!";

早期浏览器没有对这种运算进行优化。
由于字符串是不可变的,这意味着要创建中间字符串来存储连接的结果。频繁地在后台创建和销毁字符串导制性能异常低下。

因此,可以利用数组对象进行优化。
例如:

var buffer=[],i=0;buffer[i++]="Hello";//通过相应索引值添加元素比push方法快buffer[i++]=" World!";var text=buffer.join("");

在早期的浏览器中,没有创建和销毁中间字符串,在大量字符串连接情况下,这技术已被证明远快于使用加法方式。
如今浏览器对字符串的优化已经改变了字符串相连的局面。Safari、Opera、Chrome、Firefox和IE8都在使用加法运算符上表现出了更好的性能。但是,IE8之前的版本没有优化,因此数组方法依然有效。这并不意味着字符串相连时我们要进行浏览器检测。在决定如何连接时要考虑的是字符串的大小和数量。

当字符串相对较小(小于20字符)且连接数量也较小时(小于1000个),所有的浏览器使用加法运算符都能在不到1毫秒内轻松完成连接。增加字符串数量或大小时,IE7中性能会明显下降。字符串大小增加时,Firefox中加法运算符和数组成技巧性能差异会变小。字符串数量增加时,Safari中加法运算符和数组成技巧性能差异会变小。改变字符串数量或大小时,Chrome和Opera中加法运算符一直保持领先优势。

所以,由于在各浏览器下性能不一致,选用技术取决于实际情况和面对的浏览器。

大多数情况下,加法运算符是首选;如果用户主要使用IE6或7,并且字符串大小较大或数量较多时,那么数组技术就很值得。
一般情况下,如果是语义性的字符串,不应该使用Array,比如:
Hello, my name is + name;
如果字符串是"相似情况的重复"的话,建议使用Array,比如:

var array = [];for (i = 0; i < length; i++) {array[i] =
  • + list[i] +
  • ;}document.getElementById(somewhere).innerHTML = array.join(\n);

    有关js字符串数组连接的性能比较,就介绍到这里了,希望对大家有所帮助。

    wWw.BazHISH+i.Com

    猜你喜欢

    更多