文字列の 2 文字ごとに削除する方法は?
例えば:
3030313535333635 -> 00155365
3030303336313435 -> 00036145
3032323437353530 -> 02247550
文字列は常に 16 文字の長さで、結果は常に 8 文字の長さです - そして削除される文字は常に '3' です - 理由は聞かないでください - 私はこのクレイジーなソースデータを思いつきませんでした.
文字列の 2 文字ごとに削除する方法は?
例えば:
3030313535333635 -> 00155365
3030303336313435 -> 00036145
3032323437353530 -> 02247550
文字列は常に 16 文字の長さで、結果は常に 8 文字の長さです - そして削除される文字は常に '3' です - 理由は聞かないでください - 私はこのクレイジーなソースデータを思いつきませんでした.
文字列から他のすべての文字を取得するには、これを試してください:-
var s = string.Join<char>("", str.Where((ch, index) => (index % 2) != 0));
String input = "3030313535333635";
String result = "";
for(int i = 1; i < 16; i +=2 )
{
result += input[i];
}
このよく知られたクラスを使用できます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<input.length();i=i+2)
{
output+=input.charAt(i).toString();
}
System.out.println(output);