问题场景:
今天我家老哥甩给我一个难题,一大串字符串(类似姓名+手机号这种)让我拆分,直接给我整懵,内心吐槽是怎么个方式能把大几千条数据放到txt里面,还没有任何空格或换行。以下以姓名+手机号举例,便于理解。
多个姓名+手机号字符串连在一起,按照姓名、手机号各一列拆分到excel中
例如:
张三13400000000李四13411111111王伍13422222222赵六13433333333孙七13444444444
拆分成
姓名 | 手机号 |
---|---|
张三 | 13400000000 |
李四 | 13411111111 |
王伍 | 13422222222 |
赵六 | 13433333333 |
孙七 | 13444444444 |
解决思路:
1.首先考虑如何将字符串按照规律换行。
开始想的是单独把文字或者数字替换为换行符,单独获得换行后的所有名字和手机号,贴到excel中,无奈数据量太大,懒得验证准确性。
2.遂考虑根据规律连续的n个数字之后一定换行,绕过名字不确定几个字的问题(此处默认为名称中不包含数字- -!!!)。
解决步骤:
工具:word、excel
1.将文字复制到word中,选择开始-查找替换-下拉选择中选择【替换】
,或快捷键Ctrl+H
打开查找和替换窗口;
2.在查找内容中填写[0-9a-zA-Z]{1,}
,在替换为中填写^&^p
,点击【高级搜索】
,选择【使用通配符】
,点击【全部替换】
。检查时发现此处截图错误,替换内容为&符号儿不是$符号。
{n,}:n个以上前1字符或表达式({1,}等于@,表示1个以上前1字符或表达式),在这里表示1个以上数字/大小写字母组成的字符串;
^&:用于替换框,表示引用查找框的全部内容。
3.完成姓名+手机号的换行操作
4.将内容复制到excel的A列;在B1输入A1的姓名文字;全选B列后点击Ctrl+E
,完成姓名拆分;同理C1输入A1的手机号;全选C列后点击Ctrl+E
,完成手机号拆分。