如何在EXCEL中提取一组含文字与数字的字符串中的数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在EXCEL中提取一组含文字与数字的字符串中的数字相关的知识,希望对你有一定的参考价值。

参考技术A 如何在EXCEL中提取一组含文字与数字的字符串中的数字 假定需要处理的信息在A列从A1开始,以下几种方法可提取数字:
1、文字在前数字在后:取数字公式=RIGHT(A1,LENB(A1)-LEN(A1)) 下拉填充
2、数字在前文字在后:取数字公式=LEFT(A1,2*LEN(A1)-LENB(A1)) 下拉填充3、数字在中间、文字在两边:取数字公式=-LOOKUP(0,-MID(A1,ROW(INDIRECT("1:"&LEN(A1))),2*LEN(A1)-LENB(A1))) 下拉填充

你先发个样本我帮你看下先,893883134@qq.
如何在字符串中提取数字
可选用以下方法提取:
1、给出数字的起始位置和长度。示例公式:=--mid(a1,5,3) 公式结果为提取A1单元格中从第5位开始的3个数字。
2、提取某特定字符串后的数字。示例公式:=-lookup(0,-mid(a1,find("ABC",a1)+LEN("ABC"),row(1:99))) 公式结果为提取A1单元格中字符串ABC之后的数字。
3、数字在一侧其他则中文字符组成。示例公式:数字在前,公式=left(a1,2*len(a1)-lenb(a1));数字在后,公式=right(a1,2*len(a1)-lenb(a1))
4、没有给出任何条件,只要求将单元格中的数字提出。通用公式=-lookup(0,-mid(a1,min(find(row(1:10)-1,a1&1/17)),row(1:99))) 按组合键ctrl+shift+enter结束公式。

java中如何提取字符串中的数字?
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
public class NumberSplit
public StringBuffer getString(String str)
StringBuffer strbuf = new StringBuffer("t");
boolean flag = true;
for (int i = 0; i < str.length(); i++)
char c = str.charAt(i);
判断是否是数字
if (c >= '0'&& c <= '9')
判断和字符串中的数字是否重复
for (int j = 1; j < strbuf.length(); j++)
if (c == strbuf.charAt(j))
如果重复,标志位数值为false,并跳出循环;否则标志位设置为true.
flag = false;
break;
else
flag = true;

只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag)
strbuf.append(c);



return strbuf;

public static void main(String args[]) throws Exception
System.out.println("请输入一段字符串,并以回车结束");
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in));
String str = buf.readLine();
StringBuffer strbuf = new NumberSplit().getString(str);
将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray();
对字符数组排序
Arrays.sort(c);
输出字符数组
for (int i = 0; i < strbuf.length(); i++)
System.out.print(c[i]);



import java.io.BufferedReader;
import java.io.InputStreamReader;

import java.util.Arrays;
public class NumberSplit
public StringBuffer getString(String str)
StringBuffer strbuf = new StringBuffer("t");
boolean flag = true;

for (int i = 0; i < str.length(); i++)
char c = str.charAt(i);

判断是否是数字
if (c >= '0'&& c <= '9')
判断和字符串中的数字是否重复
for (int j = 1; j < strbuf.length(); j++)
if (c == strbuf.charAt(j))
如果重复,标志位数值为false,并跳出循环;否则标志位设置为true.

flag = false;
break;
else
flag = true;

只有在即是数字又不重复的情况下才将改字符拼接到字符串上.
if (flag)
strbuf.append(c);



return strbuf;

public static void main(String args[]) throws Exception
System.out.println("请输入一段字符串,并以回车结束");
BufferedReader buf = new BufferedReader(
new InputStreamReader(System.in));
String str = buf.readLine();

StringBuffer strbuf = new NumberSplit().getString(str);
将返回的StringBuffer转换为字符数组
char c[] = strbuf.deleteCharAt(0).toString().toCharArray();

对字符数组排序
Arrays.sort(c);
输出字符数组
for (int i = 0; i < strbuf.length(); i++)
System.out.print(c[i]);


如何在Java提取出字符串中的数字段(字符串中有好几段数字)?

public static void main(String args[]) throws Exception Pattern p = Pattern.pile("\\d2,");这个2是指连续数字的最少个数 String u = "abc435345defsfsaf564565fsabad5467755fewfadfgea"; Matcher m = p.matcher(u); int i = 0; while (m.find()) System.out.println(m.group()); i++; System.out.println(i);

matlab如何提取字符串中的数字
用正则表达式匹配吧:
>> s = '[数字一12000] [数字二28000]'
s =
[数字一12000] [数字二28000]
>> ms = regexp( s, '(?<=\w+)\d+', 'match' )
ms =
'12000' '28000'
然后将字符串转换为数字:
>> num1 = str2num( ms 1 )
num1 =
12000
用matlab 如何提取字符串中的数字?
S = REGEXP(STRING,EXPRESSION)
其中EXPRESSION的取法为:
. Any character
[] Any character contained within the brackets
[^] Any character not contained within the brackets
\w A word character [a-z_A-Z0-9]
\W Not a word character [^a-z_A-Z0-9]
\d A digit [0-9]
\D Not a digit [^0-9]
\s Whitespace [ \t\r\n\f\v]
\S Not whitespace [^ \t\r\n\f\v]
那么你的问题就可以使用下面的代码了
>>a='5000.xls'
a =
5000.xls
>> s=a(regexp(a,'\d'))
s =
5000
这时的s是字符型的,如果你需要数字的话就是用str2num转化一下
祝你学习愉快!
C#如何提取字符串中的数字
string s = "sdka151221jfhj8js-9";
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"-?[1-9]\d*");
System.Text.RegularExpressions.MatchCollection matchCollection= regex.Matches(s);
再根据你的业务需求处理matchCollection里的内容
PL/SQL中 如何在字符串中提取数字 ?
select regexp_substr('水库新村332号','[0-9]+' ) from dual;--用正则表达式取出数字
select regexp_substr('水库新村332号','[[:digit:]]+') from dual;

R语言中如何提取字符串

参考技术A 你这个情况,需要使用正则表达式,基础函数中的substr函数,regexp函数,或者stringr包都可以,具体操作需要不断调试~

以上是关于如何在EXCEL中提取一组含文字与数字的字符串中的数字的主要内容,如果未能解决你的问题,请参考以下文章

Excel从如何右开始提取字符

EXCEL中从一个字符串中提取特定字符后的几位文字

求一段提取字符串中的字符与数字的代码,用C++编写

excel提取单元格中的部分内容

Excel表格怎么用公式提取文字和文字前面的数字?

excel 如何提取某个字后面的几个文字?