原文:在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符 最近做项目的时候,经常用到一个字符串中的某些字符,处理起来非常的棘手,现在用下面的方法就可以很方便的从字符串中处理你想要的东西,将下面的方法封装成自己的函数,调用起来非常的方便. 注意:这里使用的数据库必须是SQLSERVER的哦 -提取数字IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULLDROP FUNCTION DBO.GET_NUMBER2GOCREATE FUNCTION
一 parseInt()方法: 首先想到的是js提供的parseInt方法,例子: var str ="4500元"; var num = parseInt(str); alert(num);//4500 结果就是我们想要的, 以为就这么简单,那就错了.如果字符串前面有非数字字符,上面这种方法就不行了: var str ="价格:4500元"; var num = parseInt(str); alert(num);//NaN 这个例子中会弹出NaN,解决这个问题,
string类函数的补充说明: trim()方法返回调用字符串对象的一个副本,但是所有起始和结尾的空格都被删除了,例子如下:String s=" Hello World ".trim();就是把"Hello World"放入s中.(注意使用时必须赋值)1 String类提供的方法: package 测试练习; import Java.util.*; public class get_StringNum { /** *2016.10.25 */ public stat
--提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO )) ) AS BEGIN BEGIN ,'') END RETURN @S END GO --测试 PRINT DBO.GET_NUMBER('呵呵ABC123ABC') GO -------------------------------------------------------------------- --提取英文
--[提取中文] IF OBJECT_ID('dbo.fun_getCN') IS NOT NULL DROP FUNCTION dbo.fun_getCN GO create function dbo.fun_getCN(@str varchar(4000)) returns varchar(4000) as begin declare @word nchar(1),@CN varchar(4000) set @CN='' while len(@str)>0 begin set @word=l
import re telNumber = '''Suppose my Phone No. is 0535-1234567,yours is 010-12345678,his is 025-87654321.''' pattern = re.compile(r'(\d{3,4})-(\d{7,8})') index = 0 while True: matchResult=pattern.search(telNumber,index) #从指定位置开始匹配 if not matchResult: