`
myhongkongzhen
  • 浏览: 95766 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

substring与split的效率问题

    博客分类:
  • J2EE
阅读更多
/**
 * demo
 */
package demo;

/**
 * @author Wu Zhenzhen
 * @version Jul 25, 2012 11:04:57 AM
 * 
 */
public class SubstringDemo
{

	/**
	 * <p />
	 * Jul 25, 2012 11:04:57 AM
	 * 
	 * @param args
	 */
	public static void main(String[] args)
	{
		// while (true)
		{
			String str = "fjdskfksljflksjfkldsjflksdjflksjfkldsjflkdsjfldsjklfsjdflkdsjfklsdjflklfj:3ljkljkljlkjlsjoeiwruoweru9032uro3wrjlskfjlsajlasjflsadfioewuo uwoir ewlrjewklqfjwlfjoewiruoqwreowifjadslfjlasdhflaskdfiowuaio2342dsf:9-090sf:fsfds";

			long start = System.currentTimeMillis();

			String stra[] = str.split(":");

			String m1 = stra[0];
			String m2 = stra[1];
			String m3 = stra[2];
			String m4 = stra[3];
			System.out.println("m1 = " + m1);
			System.out.println("m2 = " + m2);
			System.out.println("m3 = " + m3);
			System.out.println("m4 = " + m4);

			long end = System.currentTimeMillis();
			System.out.println("split use times : " + (end - start) + " ms");

			start = System.currentTimeMillis();
			int idx1 = str.indexOf(":");
			int idx2 = str.indexOf(":", idx1 + 1);
			int idx3 = str.indexOf(":", idx2 + 1);
			m1 = str.substring(0, idx1);
			m2 = str.substring(idx1 + 1, idx2);
			m3 = str.substring(idx2 + 1, idx3);
			m4 = str.substring(idx3 + 1, str.length());

			System.out.println("m1 = " + m1);
			System.out.println("m2 = " + m2);
			System.out.println("m3 = " + m3);
			System.out.println("m4 = " + m4);

			end = System.currentTimeMillis();
			System.out
					.println("substring use times : " + (end - start) + " ms");
			System.out
					.println("----------------------------------------------");
		}

	}

}

 

 

m1 = fjdskfksljflksjfkldsjflksdjflksjfkldsjflkdsjfldsjklfsjdflkdsjfklsdjflklfj
m2 = 3ljkljkljlkjlsjoeiwruoweru9032uro3wrjlskfjlsajlasjflsadfioewuo uwoir ewlrjewklqfjwlfjoewiruoqwreowifjadslfjlasdhflaskdfiowuaio2342dsf
m3 = 9-090sf
m4 = fsfds
split use times : 70 ms
m1 = fjdskfksljflksjfkldsjflksdjflksjfkldsjflkdsjfldsjklfsjdflkdsjfklsdjflklfj
m2 = 3ljkljkljlkjlsjoeiwruoweru9032uro3wrjlskfjlsajlasjflsadfioewuo uwoir ewlrjewklqfjwlfjoewiruoqwreowifjadslfjlasdhflaskdfiowuaio2342dsf
m3 = 9-090sf
m4 = fsfds
substring use times : 0 ms
----------------------------------------------

 

 

m1 = fjdskfksljflksjfkldsjflksdjflksjfkldsjflkdsjfldsjklfsjdflkdsjfklsdjflklfj
m2 = 3ljkljkljlkjlsjoeiwruoweru9032uro3wrjlskfjlsajlasjflsadfioewuo uwoir ewlrjewklqfjwlfjoewiruoqwreowifjadslfjlasdhflaskdfiowuaio2342dsf
m3 = 9-090sf
m4 = fsfds
split use times : 5 ms
m1 = fjdskfksljflksjfkldsjflksdjflksjfkldsjflkdsjfldsjklfsjdflkdsjfklsdjflklfj
m2 = 3ljkljkljlkjlsjoeiwruoweru9032uro3wrjlskfjlsajlasjflsadfioewuo uwoir ewlrjewklqfjwlfjoewiruoqwreowifjadslfjlasdhflaskdfiowuaio2342dsf
m3 = 9-090sf
m4 = fsfds
substring use times : 0 ms
----------------------------------------------

 

 

分享到:
评论

相关推荐

    JavaScript几个函数 - split()、join()、substring()和indexOf()

    ### JavaScript 函数详解:split()、join()、substring() 和 indexOf() #### 一、split() 方法 **定义与用途:** `split()` 方法用于将一个字符串分割成字符串数组。此方法通过一个指定的分隔符来拆分字符串,并...

    java的String[] split 示例

    在Java编程语言中,`String`类提供了许多用于操作字符串的方法,...在实际开发中,结合使用`split`方法与其他字符串操作方法(如`substring`、`replace`等)可以实现更加复杂的数据处理逻辑,提高代码的灵活性和效率。

    javascript中slice(),splice(),split(),substring(),substr()使用方法

    在JavaScript中,处理数组和字符串是常见任务,而slice(), splice(), split(), substring(), substr()则是常用的几...在实际开发过程中,正确选择和使用这些字符串与数组操作方法,可以极大地提高开发效率和代码质量。

    js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解

    本文主要探讨了六个常用字符串函数:`substr()`、`substring()`、`indexOf()`、`lastIndexOf()`、`split()` 和 `replace()`,它们各自有着不同的功能和应用场景。 1. `substr(start, length)` `substr()` 方法从...

    mysql函数split功能实现

    总结来说,虽然MySQL没有直接的`SPLIT`函数,但我们可以通过`SUBSTRING_INDEX()`和其他函数组合来实现类似的功能。理解和熟练运用这些函数对于处理和分析数据库中的字符串数据至关重要。在实际项目中,理解并灵活...

    几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()

    这里我们将详细介绍四个常用的字符串处理函数:split()、join()、substring()和indexOf()。 1. **split()函数** `split()`方法用于将一个字符串分割成多个子字符串,并将结果存储在一个数组中。这个方法接受一个...

    SQL中实现SPLIT函数几种方法总结(必看篇)

    SET @long_str_Tmp=SUBSTRING(@Long_str,@split_str_length+1,LEN(@Long_str)-@split_str_length) ELSE SET @long_str_Tmp=@Long_str -- 省略的代码... WHILE CHARINDEX(@split_str,@long_str_Tmp)&gt;0 BEGIN ...

    php字符串分割函数用法实例

    explode函数通过子字符串进行分割,效率比split要高 split函数语法如下 split(pattern, string) split通过正则表达式对字符串进行分割,效率相对explode要低,但是功能强大 &lt;?php $list = explode("_",...

    An easy but effective way to split a string using Transact-SQL

    但需要注意的是,对于大数据量的字符串,效率可能不如其他更复杂但优化过的解决方案,如使用XML或JSON解析功能。在SQL Server 2016及更高版本中,我们可以使用内置的STRING_SPLIT函数,它提供了更高效和直观的字符串...

    3种js实现string的substring方法

    值得注意的是,这三种方法在实现细节上都有可能遇到边界问题,比如当`beginIndex`或`endIndex`不在字符串长度范围内时应如何处理。在实际编码时,应该增加相应的错误处理逻辑来确保代码的健壮性。同时,读者也可以...

    Arduino 分割字符串库,strFenGe.rar

    `String` 类提供了许多方法,如 `concat()`, `substring()`, `indexOf()`, `charAt()` 等,用于对字符串进行常见操作。然而,`String` 类在内存管理上存在一些限制,尤其是在处理大量字符串操作时可能导致内存碎片。...

    SQL里类似SPLIT的分割字符串函数

    在SQL中,处理字符串时,有时我们需要将一个长字符串按照特定的分隔符拆分成多个独立的元素。在其他编程语言中,我们可能有类似`SPLIT`的...在实际应用中,这些自定义函数可以极大地提升处理字符串数据的效率和便利性。

    mysql存储过程实现split示例

    MySQL存储过程是数据库中一种非常实用的特性,它允许开发者编写可重复使用的SQL代码段,提高了数据处理的效率和灵活性。在本示例中,我们将深入探讨如何在MySQL中创建一个存储过程,用于将字符串按照指定的分隔符...

    ABAP正则表达式

    - `REGEX_SUBSTRING`: 提取字符串中与正则表达式匹配的部分。 - `REGEX_SPLIT`: 使用正则表达式分割字符串。 3. **使用示例** - 匹配邮箱地址:`REGEX_MATCH('^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$...

    db2字符串分隔,函数,过程的使用

    - `SUBSTRING()`:从字符串中提取子串,如`SUBSTRING('Hello', 2, 3)`将返回'ell'。 - `LEFT()`和`RIGHT()`:分别获取字符串从左边或右边指定长度的子串。 - `LENGTH()`:返回字符串的长度。 - `REPLACE()`:...

    plsql分割字符串

    自定义函数`FUNCTION_SF_SPLIT_STRING`如上所示,是一个典型的用于分割字符串的函数,它接受两个参数:待分割的字符串`STRING`和用作分隔符的子字符串`SUBSTRING`,返回一个`VARCHAR2`类型的数组,其中包含了分割后...

    JavaScript 字符串与数组转换函数[不用split与join]

    总之,虽然在实际开发中,我们通常会直接使用`split`和`join`来完成字符串与数组之间的转换,因为它们简单且效率高,但了解和掌握不使用它们的转换方法,对于深入理解JavaScript编程同样是有益的。在阅读或编写...

    字符串的提取与查询

    通过上述方法的学习和实践,我们能够更加灵活地处理字符串数据,提高代码的可读性和效率。这些基础操作不仅适用于Java语言,对于其他支持类似字符串操作功能的编程语言也同样适用。掌握这些技巧对于任何从事软件开发...

    怎么截取字符串的小程序

    - 分割字符串:有时我们可能需要按照特定分隔符来截取,如`split()`方法可以将字符串按分隔符拆分成多个子字符串。 - 动态截取:在不知道确切起始或结束位置时,可以先通过搜索特定关键字找到边界。 5. **性能...

Global site tag (gtag.js) - Google Analytics