`

字符串问题一

 
阅读更多

1.abc@def@mmm或@abc@def@mmm@拆分成数组,实现类似于String的split("@")方法,不能用string的正则方法
下面是解决方案:

 

方案一:

public static String[] split(String s,String rex){

		System.out.println(s.length());

		if(s.indexOf(rex)!=-1&&s.length()>=1){
		long start=System.currentTimeMillis();
		List<String> list=new ArrayList<String>();
		int index=0;
		int tindex=0;
		while((tindex=s.indexOf(rex, index))!=-1){
			if(tindex==0){
			index++;
			continue;
			}
			else{
			String str=s.substring(index,tindex);
			if(str.equals("")){
			index++;
			continue;
			}
			list.add(str);
			index=tindex+1;
			if(s.indexOf(rex, index)==-1&&index!=s.length()){
			System.out.println(index);
			list.add(s.substring(index));
			}
		}
		}
		System.out.println(Arrays.toString(list.toArray()));
		long end=System.currentTimeMillis();
		System.out.println(end-start);
		return (String[]) list.toArray(new String[]{});
		}

		else{
		return null;
		}
	}

  方案二:

public static void main(String[] args) {
		//String str = "@@ab@c@@@@@@def@mmm@";
		String str = "ab@c@@@@@@def@mmm";
		String temp = "";
		boolean va = false;
		List<String> list = new ArrayList<String>();
		for(int i=0;i<str.length();i++){
			String s = str.substring(i, i+1);
			if(s.equals("@")){
				if(!temp.equals("")){
					list.add(temp);
					temp = "";
				}
			}else{
				temp += s;
			}
			//如果不为空
			if(i== str.length()-1 && !temp.equals("")) {
				list.add(temp);
			}
		}
		for(String st : list){
			System.out.println(st);
		}
	}

  

分享到:
评论

相关推荐

    rf.rar_RF 字符串截取_Rf字符串比较_rf字符串切割

    1. RF字符串截取: 正则表达式提供了灵活的字符串截取方式。通过定义匹配模式,可以精确地提取出字符串中符合特定规则的部分。例如,如果你有一个URL字符串`http://www.pudn.com/downloads123/ebooks/xxx.zip`,你...

    字符串问题详解

    字符串相似度度量算法如Levenshtein距离提供了一种衡量两个字符串之间差异的方法,而最长回文串问题可通过Manacher算法高效解决。字符串匹配是解决许多实际问题的关键技术,它包括单模式匹配和多模式匹配两大类。 ...

    VB拆分字符串,分隔字符串

    在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符串”。在这个主题中,我们将深入探讨VB中如何实现这一操作,以及...

    [字符串]字符串提取(获取两个字符串中间的字符串)

    1. **IndexOf**:此方法用于查找指定字符串在当前字符串中的第一次出现位置。返回值是子字符串的起始索引,如果未找到则返回-1。 2. **Substring**:根据提供的起始索引和长度,截取字符串的一部分。 例如,假设...

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节;

    java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...

    使用一个字符串分割另一个字符串

    * 使用一个字符串分割另一个字符串 * * @param delimiter 边界上的分隔字符 * @param haystack 输入的字符串 * @param out 输出的字符串指针 * @return 分割成了多少个成员 */ int explode(char *delimiter, ...

    十六进制字符串至普通转化_十六进制字符串转普通字符串_labview十六进制_

    1. 分割十六进制字符串:由于每个ASCII字符由两个十六进制数字组成,我们需要将输入的十六进制字符串按每两个字符进行分割,形成一个十六进制数字的数组。 2. 转换为数值:对分割后的数组中的每个十六进制数字,...

    C语言字符串转换为Python字符串的方法

    如果C语言字符串是宽字符串,可以使用Py_BuildValue()函数或PyUnicode_FromWideChar()函数来构建一个字符串,例如: ```c wchar_t *w; /* Wide character string */ int len; /* Length */ PyObject *obj = Py_...

    比较字符串1

    标题 "比较字符串1" 描述的是一个算法训练问题,旨在比较两个字符串的字典序,并在它们不相等时找出第一个不同的字符。这个问题涉及到的主要知识点包括字符串操作、字典序比较以及基本的ASCII码理解。 首先,我们...

    统计字符串中子字符串出现的次数,并返回

    在IT领域,字符串处理是一项基础且重要的任务,尤其是在编程语言如C#中。"统计字符串中子字符串出现的次数,并返回"是一个常见的需求,广泛应用于...通过深入理解和实践这些知识点,可以更好地应对各种字符串处理问题。

    字符串比较问题对于长度相同的2 个字符串A和B,其距离定义为相应位置字符距离之和。2 个非空格

    对于给定的字符串A和B,试设计一个算法,计算其扩展距离。 ?编程任务: 对于给定的字符串A和B,编程计算其扩展距离。 Input 由文件input.txt给出输入数据。第1 行是字符串A;第2 行是字符串B。第3行是空格 与...

    C#中在一个字符串中删除另一个字符或字符串

    标题提到的“C#中在一个字符串中删除另一个字符或字符串”涉及到的关键知识点主要包括字符串操作、字符数组、字符串替换以及正则表达式。以下将详细讲解这些知识点。 首先,C#中的字符串(`string`)是不可变的,这...

    labview字符串拆分到数组 支持中文1

    在LabVIEW中处理字符串是一项常见的任务,尤其是将一个字符串拆分成多个子字符串,这通常涉及到字符串的分割操作。本篇将详细介绍如何在LabVIEW中实现“字符串拆分到数组”并支持中文字符。 一、字符串拆分的基本...

    字符串分割的字符串数量 SQL

    -- 初始化子字符串数量为1,因为即使没有分隔符,也至少有一个完整的字符串 WHILE @Location &lt;&gt; 0 -- 如果未找到分隔符,则@Location的值为0 BEGIN SET @Start = @Location + 1; -- 更新查找分隔符的起始位置 ...

    封装一个,完善字符串,字符串

     必须实现如下操作,字符串比较、求串的长度、判断串是否为空、将串置空、字符串赋值(包括两个字符串类复制,一个字符串赋值到CmyString对象)、求字符串中的一个字符或改变字符串中的一个字符(采用重载[]),...

    JS中判断某个字符串是否包含另一个字符串的五种方法

    String对象的方法 方法一: indexOf() (推荐) var str = "123" console.log(str.indexOf("2") !...match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 方法三: search()

    LabVIEW删除字符串中空格

    1. **字符串函数面板**: 在LabVIEW中,所有的字符串函数都位于函数面板的“字符串”类别下。你可以通过菜单栏的“函数”-&gt;“字符串”来访问它。这里包含了大量的字符串处理函数,例如“删除字符”、“替换字符串”...

    字符串重新排序

    通过编写代码并调试,我们可以创建一个灵活的函数,它接受一个1-9位数字字符串和一个排序条件作为输入,然后返回满足条件的重新排序的新字符串。这样的练习对于提升编程能力,尤其是逻辑思维和问题解决能力非常有...

    截取指定长度的字符串

    1. 固定位置截取:这种方法通常基于起始位置和结束位置来获取字符串的一部分。例如,在Python中,你可以使用切片操作符`[start:end]`来截取字符串,其中`start`是开始索引,`end`是结束索引(不包括该位置的字符)。...

    TIA博途-字符转换为字符串以及截取字符串有效字符的具体方法示例.docx

    假设我们有一个较长的字符串,但只关心其中的一部分,比如从第3个字符开始的4个字符: ```scl STRING LongString := "ABCDEFGHIJ"; STRING SubString; SubString := SUBSTRING(LongString, 2, 4); // 从索引2开始,...

Global site tag (gtag.js) - Google Analytics