可以通过输入公式进行提取,具体 *** 作的步骤如下:
工具/原材料
1、打开电脑找到并点罩雀手击excel2019版新建工作表;
2、双击打开excel表格以后,为了物嫌更好的示范先在表格内编辑好有手机号的文字内容;
3、编辑好文字以后,先选中辅助列B列的单元格并输入公式:=MID(A1,FIND("1",A1),11);
4、在编辑栏里输入公式以后,在按“ctrl+回车键”此时B列选中的单元格岁宽内已经提取成功。
import java.util.HashSetimport java.util.Set
import java.util.regex.Matcher
import java.util.regex.Pattern
/**
* 从字符串中截取出电话号码
* @author zcr
*
*/
public class CheckIfIsPhoneNumber
{
/**
* 符合规则的号码:
* 1》、移动电话
* 86+‘-’+11位电话号码
* 86+11位正常的电话号码
* 11位正常电话号码a
* (+86) + 11位电话号码
* (86) + 11位电话号码
* 2》、固定电话
* 区号 + ‘-’ + 固定电话 + ‘-’ + 分机号
* 区号 + ‘-’ + 固定电话
* 区号 + 固定电话
* @return电话号码的正则表达式
*/
public static String isPhoneRegexp()
{
String regexp = ""
//能满足最长匹配,但无法完成国家区域号和电话号码之间有空格的情况
String mobilePhoneRegexp = "(?:(\\(\\+?86\\))((13[0-9]{1})|(15[0-9]{1})|(18[0,5-9]{1}))+\\d{8})|" +
"(?:86-?((13[0-9]{1})|(15[0-9]{1})|(18[0,5-9]{1}))+\\d{8})|" +
"(?:((13[0-9]{1})|(15[0-9]{1})|(18[0,5-9]{1}))+\\d{8})"
衡春银
//System.out.println("regexp = " + mobilePhoneRegexp)
//固定电话正则表达式
String landlinePhoneRegexp = "(?:(\\(\\+?86\\))(0[0-9]{2,3}\\-?)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?)|" +
"(?:(86-?)?(0[0-9]{2,3}\\-?)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?)"
regexp += "(?:" + mobilePhoneRegexp + "|" + landlinePhoneRegexp +")"
return regexp
}
/**
* 从dataStr中获取出所有的电话号码(固话和移动电话),将其放入Set
* @param dataStr待查找的字符串
* @param phoneSetdataStr中的电话号码
*/
public static void getPhoneNumFromStrIntoSet(String dataStr,Set<String>phoneSet)
{
//获得固定电话和移动电话的正则表达式
String regexp = isPhoneRegexp()
System.out.println("Regexp = " + regexp)
Pattern pattern = Pattern.compile(regexp)
Matcher matcher = pattern.matcher(dataStr)
//找与该模式匹配的输入序列的下一个子序列
while (matcher.find())
{
//森液获取到之前查找到的字符串,并将其添加入set中
phoneSet.add(matcher.group())
}
//System.out.println(phoneSet)
}
咐宴}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)