如何删除字符串中的每个第二个字符?

如何删除字符串中的每个第二个字符?

例如:

3030313535333635 -> 00155365 3030303336313435 -> 00036145 3032323437353530 -> 02247550 

字符串总是16个字符长,结果总是8个字符长 – 被删除的字符总是’3′ – 不要问为什么然而 – 我没有想到这个疯狂的源数据。

 String input = "3030313535333635"; String result = ""; for(int i = 1; i < 16; i +=2 ) { result += input[i]; } 

试试这个从字符串中获取每个其他字符: –

  var s = string.Join("", str.Where((ch, index) => (index % 2) != 0)); 

您可以使用这个着名的类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); 

使用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(); 

Java语言代码

 String input= "3030313535333635" String output=""; for(int i=1;i