String案例 获取一个字符串在另一个字符串中出现的次数(两种方法)

/*思路:定义1个计数器和1个截取后的Str——>判断有无SS——>有就截取并计数——>直到截取完没有ss就停止*/

package Day12;

/*
练习2 
获取一个字符串在另一个字符串中出现的次数:
*/
public class Test_11 {
	public static void main(String[] args) {
		String str = "sdsassklsssjkssuhhussussttddrrssspssuss";
		/*
		 * 思路:定义1个计数器和1个截取后的Str——> 判断有无SS——>有就截取并计数——>直到截取完没有ss就停止
		 */
		sop("次数:" + show1(str, "ss") + "次");
		sop("次数:" + show2(str, "ss") + "次");
	}
	//第一种
	public static int show1(String str, String key) {
		int count = 0;// 计数器
		int tmp = 0;// 记录截取后的新位置
		while ((tmp = str.indexOf(key)) != -1) {// 查找key(ss),找到的地址码给tmp
			sop("str:" + str);
			str = str.substring(tmp + key.length());// 截取
													// 地址码+key长度,截取后重组成新str,继续while
			// 截取指导索引位置的字符串
			// 子串第一次出现的位置+长度=下一次的起始位置
			count++;
		}
		return count;
	}
	//第二种
	public static int show2(String str, String key) {
		int count = 0;
		int index = 0;
		while ((index = str.indexOf(key, index)) != -1) {// 循环到没有ss就停
			sop("str:" + str);
			index = index + key.length();
			count++;
		}
		return count;
	}

	public static void sop(Object obj) {
		System.out.println(obj);
	}
}



  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python字符串方法来实现这个功能。具体步骤如下: 1. 从用户输入获取字符串1和待插入字符串2以及要插入的字符。 2. 使用字符串方法find()查找源字符串1第一次出现要插入的字符的位置。 3. 如果找到了要插入的字符,则使用字符串方法replace()将待插入字符串2插入到源字符串1找到的位置。 4. 如果没有找到要插入的字符,则输出“not found!”并结束程序。 5. 打印出形成的新串。 下面是Python代码实现: ```python # 从用户输入获取字符串1、待插入字符串2和要插入的字符 str1 = input("请输入源字符串1:") str2 = input("请输入待插入字符串2:") char = input("请输入要插入的字符:") # 使用find()方法查找要插入的字符的位置 index = str1.find(char) # 如果找到了要插入的字符,则使用replace()方法将待插入字符串2插入到源字符串1找到的位置 if index != -1: new_str = str1[:index] + str2 + str1[index:] print("形成的新串为:", new_str) else: print("not found!") ``` 注意:这里使用了字符串的切片操作,即str1[:index]表示从源字符串1的开头到要插入的字符的位置,str1[index:]表示从要插入的字符的位置到源字符串1的结尾。 ### 回答2: 可以通过以下步骤将字符串2插入到源字符串1第一次出现某字符的位置: 1. 使用输入函数获取字符串1和字符串2的值。 2. 使用输入函数获取要在字符串1查找的字符。 3. 使用字符串1的find()函数来查找字符串第一次出现要查找的字符的位置。如果找不到字符,则显示“not found!”并结束程序。 4. 使用字符串1的replace()函数,将字符串2插入到该位置。 5. 打印出形成的新串。 下面是用Python编写的示例代码: ```python # 获取字符串1和字符串2的值 string1 = input("请输入源字符串1: ") string2 = input("请输入字符串2: ") # 获取要在字符串1查找的字符 character = input("请输入要在字符串1查找的字符: ") # 使用字符串1的find()函数查找字符的位置 position = string1.find(character) # 如果找不到字符,则显示“not found!”并结束程序 if position == -1: print("not found!") exit() # 使用字符串1的replace()函数插入字符串2 new_string = string1[:position] + string2 + string1[position:] # 打印出形成的新串 print("形成的新串: ", new_string) ``` 请注意,这只是解决问题的一种方法。根据不同的编程语言,代码可能会有所不同,但是基本思路是相似的。 ### 回答3: 可以使用Python语言实现该功能: ```python def insert_string(source, target, char): index = source.find(char) if index == -1: print("not found!") return new_string = source[:index] + target + source[index:] print("新串:", new_string) # 测试案例 source_str = "Hello, world!" target_str = "insert" character = "o" insert_string(source_str, target_str, character) ``` 解析: 1. 定义一个名为`insert_string`的函数,接收三个参数`source`为源字符串1,`target`为待插入的字符串2,`char`为待查找的字符。 2. 使用字符串的`find`方法查找`char`在`source`第一次出现的位置,并将结果赋值给变量`index`。 3. 如果`index`为-1,则说明在`source`未找到`char`,打印"not found!"并结束程序。 4. 否则,将`target`插入到`source`的`index`位置,得到新的字符串`new_string`。 5. 最后,打印新的字符串`new_string`作为结果。 以上代码的测试案例,源字符串为"Hello, world!",待插入的字符串为"insert",待查找的字符为"o"。由于源字符串有两个"o",但是要求第一次出现的位置,所以将待插入的字符串插入到第一个"o"之前,形成的新串为"Hellinserto, world!"。最终会打印"新串:Hellinserto, world!"作为结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值