Unity IndexOf 截取字符串中的一段字符

搜了一圈没有找到合适的方法,在一个网站终于发现了。直接献上

public static string Search_string(string s, string s1, string s2) 
{
    int n1, n2;
    n1 = s.IndexOf(s1, 0) + s1.Length;  
    n2 = s.IndexOf(s2, n1);               
    return s.Substring(n1, n2 - n1);   
}

s为该字符串,s1为s字符串中的前一段字符,s2为s字符串中的后一段字符。
返回结果就是s1跟s2字符段中键的字符段了。
举例:
比如要找 “今天是星期三” 字符串中的“星期”两个字符
s = “今天是星期三”;
s1 = “是”;
s2 = “三” ;
输出结果就是 “星期”

//题外话

通过s.IndexOf(s2, n1),这里我才知道indexOf()里面是可以加三个参数的。//n1就是从n1的位置开始查找s2 优化的写法。。

IndexOf(string value,int startIndex,int count).

string value
就是要查找的字符串。
int startIndex
就是从这个startIndex 索引的位置开始查找该字符串。//我之前理解成假如写成2,那么查找的结果会-2。。。我把这个位置理解成了起始位置0。好惨啊
int count
从int startIndex 这个位置开始查找的长度。如果你要查找“ abc” ,count 写成2,就算条件符合会返回-1的。//所以我理解成了从startIndex 这个位置向后查找的长度。

总之
indexOf 如果查询到该字符串,就会返回该字符串第一个字符的索引位置,如果没查到就返回-1.

献上原代码链接
link
感谢

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值