MongoDB 字符串截取 $substr

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 字符串截取 $substr相关的知识,希望对你有一定的参考价值。

参考技术A $substr,$substrBytes,$substrCP 是aggregate的管道操作符,主要可用在project中,
$substr 在版本3.4后最好使用 $substrBytes

其中< string >是需截取的字符串,若为表内字段可用$加字段名。
< start >截取开始的位置,为整数,整数从0开始。若数字为负数或大于< string >的长度,则返回空字符串""。
< length >截取字符串长度,为整数。若数字为负数则返回< start >后的全部的字符串。

其中< string expression >是需截取的字符串,若为表内字段可用$加字段名。
< byte index >截取开始的位置,为整数,整数从0开始。若数字为负数或大于< string >的长度,则返回空字符串""。
< byte count >截取字符串长度,为整数。若数字为负数则返回< start >后的全部的字符串。

其中< string expression >是需截取的字符串,若为表内字段可用$加字段名。
< code point index >截取开始的位置,为整数,整数从0开始。若数字为负数或大于< string >的长度,则返回空字符串""。
< code point count >截取字符串长度,为整数。若数字为负数则返回< start >后的全部的字符串。

1.截取字符串
$substr 与 $substrBytes 结果相同,会将汉字的字符长度视为2。
$substrCP 将汉字的字符长度视为1。

2.截取字段内容

substring如何截取最后几个字符

abc|cdf|edf|gggg|sdjfkldfdf

如上,我想截取最后“|”后面的字符,该怎么写?

1、首先我们打开编程软件主界面,点击界面上方菜单栏里的文件选项,再点击新建目录下的项目选项。

2、然后我们选择控制台应用程序选项,再进行命名为字符串的截取Substring,再点击确定即可。

3、然后系统会自动生成代码。

4、先写一个字符串用于截取测试。

5、使用Substring()截取our 从第11个字符串开始截取截取3个字符串

6、截取字符串测试结果显示无误。

参考技术A string str="123abc456";
int i=3;
1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:
str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符:
str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之
using System.Text.RegularExpressions;
string str = "123abc456";
string a="abc";
Regex r = new Regex(a);
Match m = r.Match(str);
if (m.Success)

//绿色部分与紫色部分取一种即可。
str=str.Replace(a,"");
Response.Write(str);
string str1,str2;
str1=str.Substring(0,m.Index);
str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
Response.Write(str1+str2);
参考技术B explode 转成数组取最后一个 参考技术C

建议你这样试试看:

    通过lastIndexOf获取,获取最后‘|’的索引

    调用substring,第一个参数是上一步索引+1

代码如下

var str='abc|cdf|edf|gggg|sdjfkldfdf';

var lastIndex=str.lastIndexOf("|");

str.substring(lastIndex+1)

参考技术D

字符串截取的代码如下:

public static void main(String[] args)

String string = "abc|cdf|edf|gggg|sdjfkldfdf";

String[] array = string.split("\\\\|");

System.out.println(array[array.length - 1]);

代码思路:

    首先将字符串,根据“|”符号,分割成数组;

    取数组最后一个位置的字符串,即可。

这里需要注意的是:

split() 方法根据匹配给定的正则表达式来拆分字符串。

. 、 | 和 * 等转义字符,必须得加 \\\\。

以上是关于MongoDB 字符串截取 $substr的主要内容,如果未能解决你的问题,请参考以下文章

java怎么截取字符串中最后一个字符!!急!!!!!!!!!!

java怎么截取字符串中最后一个字符!!急!!!!!!!!!!

字符串的截取

如何取得字符串最后一个字符

oracle 怎么从后开始截取字符

【搬运】Sql Server中截取字符串的常用方法