我试图解析数据库并替换":"使用另一个分隔符,例如" +分隔符+"。这个问题是这个特定的数据库有一个hash:salt组合。有些盐含有额外的"""并且有些不含盐。如何更换所有":"&忽略哈希中的那些
示例:
1:john:john@john.com:127.0.0.1:341b4d30d4f5bb31f291633e0c97a8ba:J:|
我想忽略冒号:
341b4d30d4f5bb31f291633e0c97a8ba:J:|
但我想用" +分隔符+"
替换其他冒号答案 0 :(得分:1)
String.Split()
method将List<Card> cardShuffledList = Arrays.asList(cardsShuffled);
作为其第二个参数:
count
字符串string input = "1:john:john@john.com:127.0.0.1:341b4d30d4f5bb31f291633e0c97a8ba:J:|";
string[] fields = input.Split(new[]{ ':' }, 5);
现在包含值fields[4]
要完成替换操作,请使用String.Join使用新的分隔符连接字符串:
341b4d30d4f5bb31f291633e0c97a8ba:J:|
答案 1 :(得分:1)
如果您的字符串始终采用您指定的格式:
1:john:john@john.com:127.0.0.1:341b4d30d4f5bb31f291633e0c97a8ba:J:|
您可以使用String.Split(Char[], Int32)
重载来指定返回的最大子串数。指定5
子字符串,最后的子字符串将包含输入字符串的其余部分,即散列字段。
string input = "1:john:john@john.com:127.0.0.1:341b4d30d4f5bb31f291633e0c97a8ba:J:|";
string[] array = input.Split(new char[] { ':' }, 5);
然后,您可以使用String.Join方法将字符串数组与所需的分隔符连接。
string output = String.Join("+delimiter+", array);