环境:MySQL 5.5
需求:将"apple,orange,water melon,banana"字符串以","分隔后各单词或词组的首字母大写
实现:写了个函数:
drop function if exists fun_initial_upper; delimiter $$ create function fun_initial_upper(sourceStr varchar(255),delim varchar(10)) returns varchar(255) begin declare destinationStr varchar(255) default ''; #返回结果字符串 declare size integer default 0; #以delim为分隔符得到的单词或词组的个数+1 declare tmpStr varchar(255); #中间变量 declare len integer default 0; #单词或词组的长度 declare changeDelim bool default false; #是否改变分隔符(针对输入空格符) if delim = '' || delim regexp '[[:blank:]]' then #正则匹配分隔符是否是空格符 set sourceStr = replace(sourceStr,delim,'//,'); set delim = '//,'; #自定义分隔符 set changeDelim = true; end if; set sourceStr = concat(delim,sourceStr); #初始化源字符串 set size = length(sourceStr)-length(replace(sourceStr,delim,''))+1; loop_label: loop if size > 0 then set tmpStr = substring_index(sourceStr,delim,size-1); set len = char_length(substring_index(sourceStr,delim,size)) - char_length(tmpStr)-char_length(delim); if len > 0 then set tmpStr = trim(substring(sourceStr,char_length(tmpStr)+char_length(delim)+1,len)); set tmpStr = concat(upper(left(tmpStr,1)),substring(tmpStr,2,(length(tmpStr)-1))); set destinationStr = concat(delim,tmpStr,destinationStr); end if; set size = size - 1; else leave loop_label; end if; end loop; set destinationStr = concat(substring(destinationStr,char_length(delim)+1,(length(destinationStr)-1)));#去除开始处的delim,与set sourceStr = concat(delim,sourceStr)相对 if changeDelim then set destinationStr = replace(destinationStr,delim,' '); end if; return destinationStr; end $$ delimiter ;
函数:
- regexp:正则匹配
- concat(str1,str2,...):字符串连接(将字符串str1,str2,...连接)
- length(str):字符串str的长度
- replace(str,from_str,to_str):字符串替换(字符串str中的所有的from_str的被to_str代替)
- substring_index(str,delim,count):在定界符delim以及count出现前,从字符串str返回子字符串.若count为正值,则返回最终定界符(从左边开始)左边的一切内容.若count为负值,则返回定界符(从右边开始)右边的一切内容。
- char_length(str):返回字符串str的字符长度
- trim(str):字符串首尾去空值
- upper(str):字符串各字符转化为大写
- substring(str,pos,len):子串(获得字符串str以pos为起始位置,长度为len的子串)
结果:
相关推荐
此函数首先使用空格作为分隔符分割字符串,然后对每个单词应用一个映射函数,该函数将提取单词的第一个字符并将其转换为大写,接着连接剩余的单词部分。最后,所有处理过的单词用空格重新连接起来,形成一个新的字符...
在PHP编程中,有时我们需要对字符串进行特殊处理,例如按照特定规则分割字符串。在这个场景中,我们关注的是如何将一个包含大小写字母的字符串按大写字母分隔,将其转换成一个字符串数组。这个操作在处理类名、变量...
另一种方法是先将字符串按空格或其他分隔符分割成数组,然后利用数组的`map`或`forEach`方法来逐个处理数组中的单词。 ```javascript String.prototype.firstUpperCase = function() { let arr = this.split(''); ...
4. **大小写转换**:`upper()`、`lower()`和`title()`函数可以将字符串转换为全大写、全小写和首字母大写的形式。 5. **去除空白字符**:`strip()`、`lstrip()`和`rstrip()`用于去除字符串首尾或两侧的空格或指定...
- **大小写转换**:`upper()`将字符串转为大写,`lower()`转为小写,`title()`每个单词首字母大写。 - **去除空格和特殊字符**: - `strip([chars])`:移除字符串两端的指定字符,默认移除空格、制表符、回车符和...
3. 分割字符串:`String.Split()`函数可以将字符串按照指定分隔符切割成字符串数组。 4. 查找与替换:`String.IndexOf()`查找子字符串的位置,`String.Replace()`用于替换字符串中的特定字符或子字符串。 5. 去除...
ucfirst()函数作用是将字符串首字母转换为大写,而ucwords()函数则是将每个单词的首字母转换为大写。这些大小写转换函数在处理用户输入、数据库查询等场景中非常实用。 接下来是字符串的连接与分割。explode()函数...
- `xstrings.SplitN` 和 `xstrings.SplitAfterN`:这两个函数允许用户按照指定分隔符分割字符串,并可以控制最多分割的片段数量,比标准库的`strings.Split`更灵活。 2. **字符串修剪与清洗** - `xstrings....
4. 分割与连接:根据分隔符分割字符串,或将多个字符串连接成一个。 5. 首字母大写或全部转换为大写/小写。 6. 查找与替换:在字符串中查找子串并替换为其他子串。 7. 检验有效性:检查字符串是否符合特定格式,如...
7. **字符串分割与合并**:允许开发者根据分隔符分割字符串,或将多个字符串合并成一个。 8. **空白处理**:提供去除字符串前后空格、修剪空白或替换空白的函数。 9. **字符串比较**:实现不区分大小写的字符串...
`title()`函数可以将字符串中的每个单词首字母转换为大写,这对于格式化输出很有帮助。 **大小写转换**可以通过`lower()`和`upper()`方法实现,它们分别将字符串转换为全小写和全大写。 **内容对齐**是通过`ljust...
- **`split`** 方法:通过指定的分隔符将字符串分割成多个子串,并返回一个列表。 ```python s = "apple,banana,orange" print(s.split(",")) # 输出 ['apple', 'banana', 'orange'] ``` - **`capitalize`** ...
5. **大小写转换**:字符串的大小写转换是常见的操作,包括转换为大写(如Python的`upper()`)、小写(如Python的`lower()`)以及首字母大写(如Python的`title()`)。 6. **字符串格式化**:在输出字符串时插入...
#### 十六、分割字符串 将字符串按照指定的分隔符进行分割。 - 示例:`sStr1 = 'ab,cde,fgh,ijk'; sStr2 = ','; sStr1 = sStr1[sStr1.find(sStr2) + 1:]` - 结果:`",cde,fgh,ijk"` - 或者使用`split()`方法: ...
9. **字符串操作**:`strtrim` 去除两侧空白,`strjust` 对齐字符串,`strsplit` 分割字符串并返回数组,`strjoin` 将数组元素连接成字符串。 10. **正则表达式**:MATLAB支持正则表达式操作,如 `regexp` 和 `...
5. **使用多个分隔符分割字符串**: - 通过正则表达式和 `split()` 方法,可以方便地根据多个不同的分隔符拆分字符串。 ```javascript const str = "java,css;javascript"; const data = str.split(/[,;]/); // [...
7. **大小写转换**:`upper()`将字符串转为大写,`lower()`转为小写,`title()`使每个单词的首字母大写。 8. **去除空白字符**:`strip()`用于去除字符串两端的空白,`lstrip()`仅去除左侧,`rstrip()`仅去除右侧。...
字符串有内置的`upper()`、`lower()`和`capitalize()`方法,分别用于将字符串转换为全大写、全小写和首字母大写。这些方法在处理用户输入或文本格式化时很有用。 六、字符串检查 编程中经常需要判断字符串是否满足...
7. **大小写转换**:`UCase()`、`LCase()` 和 `Capitalize()` 用于将字符串转换为全大写、全小写或首字母大写。 8. **字符串比较**:`Compare()` 和 `Equals()` 用于比较两个字符串是否相等,考虑大小写或不考虑。 ...
3. **大小写转换**:`upperCase()`和`lowerCase()`方法提供了一种快速转换字符串大小写的方式,还有可能包含`capitalize()`方法用于首字母大写,以及`titleCase()`用于每个单词首字母大写。 4. **字符串分割与合并*...