标签: lastindexof

使用lastIndexOf()时ArgumentOutOfRangeException

我真的很难过为什么我得到一个例外.这是我组建的SSCCE来证明:

static void Main(string[] args)
{
    string tmp =
               "Child of: View Available Networks (197314), Title: N/A  (66244)";
    Console.WriteLine(tmp);

    int one = tmp.LastIndexOf('('), two = tmp.LastIndexOf(')');

    //my own error checking
    Console.WriteLine(tmp.Length);//returns 63
    Console.WriteLine(one < 0);//returns false
    Console.WriteLine(two > tmp.Length);//returns false
    Console.WriteLine(one);//returns 56
    Console.WriteLine(two);//returns 62

    /*
     * error occurs here.
     * ArgumentOutOfRangeException Index and length must refer to
     * a location within the string.
     * Parameter name: length
     */
    string intptr = tmp.Substring(one, two);

    Console.WriteLine(intptr);
}
Run Code Online (Sandbox Code Playgroud)

我无法看到我做错了什么(尽管来自Java背景可能是微不足道的),希望其他人可以.

c# substring lastindexof

2
推荐指数
1
解决办法
384
查看次数

按最后一次出现拆分字符串

我有一个像这样的字符串:

www.myserver.net/Files/Pictures/2014/MyImage.jpg

我想拆分它,所以在最后一次出现之后我得到了子串.这意味着我喜欢得到MyImage.jpg我试过这样:

  MsgBox(URL.Substring(URL.LastIndexOf("/"), URL.Length - 1))
Run Code Online (Sandbox Code Playgroud)

但那不行.有人可以帮我解决如何在VB.Net中这样做吗?C#也没关系,在我理解了逻辑后,我可以自己转换它.

vb.net string split lastindexof

2
推荐指数
1
解决办法
2171
查看次数

Is it okay to use for in loop on a string?

Just wondering if its acceptable to use a for in loop on a string. Not sure if there could be weird results or bad practice but my solution works at least in this example.

Coding practice question. Also, if anyone has a way to improve my solution I'm open to advice.

function firstNonRepeatingLetter(str) {
  const lowerStr = str.toLowerCase();

  for (let char in lowerStr) {
    if (lowerStr.lastIndexOf(lowerStr[char]) === parseInt(char) && 
    lowerStr.indexOf(lowerStr[char]) === parseInt(char)) {
      return str[char];
    }
  }

  return "";
} …
Run Code Online (Sandbox Code Playgroud)

javascript for-loop indexof for-in-loop lastindexof

2
推荐指数
1
解决办法
98
查看次数

理解 indexOf 和 lastIndexOf

我正在做一些 JavaScript 练习,我偶然发现了这个“编写一个 JavaScript 程序来过滤掉数组中的非唯一值”。

我尝试并找到了一个解决方案,该解决方案有效但很麻烦。根据该网站,更好的答案如下:

const filter_Non_Unique = arr =>
  arr.filter(l => arr.indexOf(l) === arr.lastIndexOf(l));

console.log(filter_Non_Unique([1,2,3,4,4,5,6,6])) // 1,2,3,5
Run Code Online (Sandbox Code Playgroud)

现在我想知道为什么这个解决方案有效,但我仍然不明白。有人可以向我解释一下吗?提前致谢。

javascript arrays filter indexof lastindexof

2
推荐指数
1
解决办法
98
查看次数

如果小部件是列表的最后一个索引,如何返回它?

如果它是方法中的最后一项,我想重新调整小部件,但我收到错误...尝试调用:call()

 itemList.last()
     ? CircleAvatar(
       backgroundColor: mainColor,
       radius: 15,
       child: Icon(Icons.done),
        )
      : Container()

Run Code Online (Sandbox Code Playgroud)

list dart lastindexof flutter

2
推荐指数
1
解决办法
8450
查看次数

c ++中类似Java的lastIndexOf

我对boost和c ++进行了一些研究,但无法找到与我的问题相关的任何内容.是否有一个实现lastIndexOf的boost库或STL函数?

c++ boost c++11 lastindexof

1
推荐指数
2
解决办法
1250
查看次数

LINQ获取特殊字符的最后位置

我有一个简单的LINQ查询(通过EF实体linq)

var QueueList = (from q in context.queues                                        
                 select new { 
                             Qid = q.id, 
                             Qname = q.name.Substring(q.name.IndexOf(":") + 2) 
                 }).ToList();
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是Qname.数据库中的名称通常如下所示:

公司:: QUEUENAME

但现在我有一些新的队列,其名称如下所示:

公司::组:: QUEUENAME

所以我不需要在字符串中找到第一个":"但是最后一个.

SQL不支持" LastIndexOf() "方法.那我怎么得到QueueName中的最后一个":"

我用" Reverse() " 尝试了它,但结果有点不对(gnirts而不是string).

c# sql linq substring lastindexof

1
推荐指数
1
解决办法
1301
查看次数

Java - String.lastIndexOf(str)逻辑我无法理解

我使用两个不同的字符串来测试"\ t"的最后一个索引,但它们都返回4.我认为它应该是5和4.我检查了oracle文档,我无法理解为什么.有人可以告诉我为什么吗?谢谢!

System.out.println("abc\t\tsubdir".lastIndexOf("\t"));
System.out.println("abct\tsubdir".lastIndexOf("\t"));
Run Code Online (Sandbox Code Playgroud)

java string indexing lastindexof

1
推荐指数
1
解决办法
134
查看次数

有没有更好的方法将此字符串分成子串?

我试图提取"first_name""last_name"从信息的长字符串看起来像这样:

{
    "123123123": {
        "id": "12321312****",
        "email": "***************",
        "first_name": "Marcus",
        "gender": "male",
        "last_name": "Bengtsson",
        "link": "https://www.facebook.com/app_scoped_user_id/123123123/",
        "locale": "en_EN",
        "middle_name": "Peter",
        "name": "Marcus Peter Bengtsson"
    }
}
Run Code Online (Sandbox Code Playgroud)

我的方式做到这一点(这可能是可怕的错误和一个非常糟糕的解决方案)是我首先从提取的子串"first_name""link"使用此代码:

String subStr = str.substring(str.indexOf("first_name"), str.lastIndexOf("link"));
Run Code Online (Sandbox Code Playgroud)

然后我得到:

first_name":"Marcus","gender":"male","last_name":"Bengtsson","

然后,我做同样的事情,但是从":""gender"获得"first_name:

String firstNameOfUser = subStr.substring(subStr.indexOf(":")+2, subStr.lastIndexOf("gender")-3);
Run Code Online (Sandbox Code Playgroud)

然后同样的事情"last_name":

String lastNameOfUser = subStr.substring(subStr.indexOf(""last_name"")+12, subStr.lastIndexOf(",")-1);
Run Code Online (Sandbox Code Playgroud)

最后,我在两个字符串之间添加一个空格:

String nameOfUser = new StringBuilder().append(firstNameOfUser).append(" ").append(lastNameOfUser).toString();
Run Code Online (Sandbox Code Playgroud)

然后我得到:

Marcus Bengtsson

可能有一个更好的方法来做到这一点,但我无法找出如何解决.

java substring append indexof lastindexof

0
推荐指数
1
解决办法
113
查看次数

使用索引位置分割字符串(文件名)

我需要将文件名分成两个字符串的数组。

文件名如下所示:IMG-20190604-WA0005.jpg

我想要的数组:

[0] =“IMG-20190604-WA0005”

[1] =“jpg”

我使用索引位置LasIndexOf('.')

c# split lastindexof

0
推荐指数
1
解决办法
98
查看次数