为了账号安全,请及时绑定邮箱和手机立即绑定

拆分字符串

标签:
Java

拆分一个字符串,获取每一组的key与value。

如字符串:

"qq=adf;f=qewr98;eer=d9adf;t=ad34;f=qewrqr;u=adf43;gggg=2344"

 

按照面向对象理念来解决,创建一个对象:

 class Bf    {        public string Key { get; set; }        public string Value { get; set; }        public Bf()        {        }        public Bf(string key, string value)        {            this.Key = key;            this.Value = value;        }        public override string ToString()        {            return string.Format("key:{0},value:{1}", this.Key, this.Value);        }    }

Source Code

 

这个是对物件对象,有key和value两个特性。

我们需要把拆分好的数据临时存储起来,现在我们把它们存放在一个List<T>集合中:

 

class Bg    {        private List<Bf> _list = new List<Bf>();        public void Add(Bf bf)        {            _list.Add(bf);        }        public virtual IEnumerable<Bf> Bfs        {            get            {                return this._list;            }        }    }

Source Code

 

接下来,我们写一个Helper类,处理分割与输出结果的相关类:

 class SplitHelper    {        public string OriginalString { get; set; }        public char Group_Separator { get; set; }        public char Item_Separator { get; set; }        public SplitHelper()        {        }        public SplitHelper(string originalString, char group_separator, char item_separator)        {            this.OriginalString = originalString;            this.Group_Separator = group_separator;            this.Item_Separator = item_separator;        }        private Bg bg = new Bg();        public void SplitProcess()        {            foreach (var item in this.OriginalString.Split(Group_Separator))            {                string[] arr = item.Split(this.Item_Separator);                if (arr.Length != 2) continue;                Bf objBf = new Bf();                objBf.Key = arr[0];                objBf.Value = arr[1];                bg.Add(objBf);                               }        }        public void Output()        {            bg.Bfs.ForEach(delegate (Bf bg)            {                Console.WriteLine(bg.ToString());            });        }    }

Source Code

 

在控制台测试代码:

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消