小编use*_*111的帖子

在Java中分割String的最有效方法

为了这个问题,让我们假设我有一个String包含值Two;.Three;.Four(等等),但元素是分开的;..

现在我知道有多种方法可以分割字符串,例如split()StringTokenizer(更快的一个并且运行良好),但我的输入文件大约是1GB,我正在寻找比它更有效的东西StringTokenizer.

经过一些研究,我发现indexOf并且substring非常有效,但这些示例只有单个分隔符,或者结果只返回一个单词/元素.

示例代码使用indexOfsubstring:

String s = "quick,brown,fox,jumps,over,the,lazy,dog";
int from = s.indexOf(',');
int to = s.indexOf(',', from+1);
String brown = s.substring(from+1, to);
Run Code Online (Sandbox Code Playgroud)

上面的工作用于打印,brown但我如何使用indexOfsubstring分割具有多个分隔符的行并显示如下所有项目.

预期产出

Two
Three
Four
....and so on
Run Code Online (Sandbox Code Playgroud)

java string parsing split stringtokenizer

6
推荐指数
3
解决办法
5718
查看次数

将查询作为参数传递给存储的proc

我有一个存储过程,nvarchar但它会进入查询的一部分,如下所示:

Input Parameter @InputQuery =  '21 OR RevenueAccrualID =  22'
Run Code Online (Sandbox Code Playgroud)

我想将输入查询添加到现有查询中:

UPDATE [RevenueAccrual] SET Posted=1
 Where [RevenueAccrual].RevenueAccrualID = @InputQueryPart
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

UPDATE [RevenueAccrual] SET Posted=1
Where [RevenueAccrual].RevenueAccrualID = 21
OR RevenueAccrualID =  22
Run Code Online (Sandbox Code Playgroud)

目前,它的作用是:

 UPDATE [RevenueAccrual] SET Posted=1
 Where [RevenueAccrual].RevenueAccrualID = '21 OR RevenueAccrualID =  22' 
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以将查询作为参数传递并在SQL Server中使用它。输入查询将根据情况而有所不同。

sql sql-server

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

标签 统计

java ×1

parsing ×1

split ×1

sql ×1

sql-server ×1

string ×1

stringtokenizer ×1