如何删除字符串中的每个第二个字符?
例如:
3030313535333635 -> 00155365
3030303336313435 -> 00036145
3032323437353530 -> 02247550
字符串总是16个字符长,结果总是8个字符长 - 被删除的字符总是'3' - 不要问为什么然而 - 我没有想到这个疯狂的源数据
答案 0 :(得分:11)
尝试使用此字符串来获取字符串中的所有其他字符: -
var s = string.Join<char>("", str.Where((ch, index) => (index % 2) != 0));
答案 1 :(得分:9)
String input = "3030313535333635";
String result = "";
for(int i = 1; i < 16; i +=2 )
{
result += input[i];
}
答案 2 :(得分:6)
您可以使用这个着名的课程System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary
:)
string str = "3030313535333635";
var hex = System.Runtime.Remoting.Metadata.W3cXsd2001.SoapHexBinary.Parse(str);
var newstr = Encoding.ASCII.GetString(hex.Value);
答案 3 :(得分:3)
使用StringBuilder
创建字符串将节省资源
string input = "3030313535333635";
var sb = new StringBuilder(8); // Specify capacity = 8
for (int i = 1; i < 16; i += 2) {
sb.Append(input[i]);
}
string result = sb.ToString();
答案 4 :(得分:1)
Java语言代码
String input= "3030313535333635"
String output="";
for(int i=1;i<input.length();i=i+2)
{
output+=input.charAt(i).toString();
}
System.out.println(output);