String字符串的常见方法总结

常见方法:

1.遍历字符串:

方式1:通过charAt(int index)方法

方式2:通过字符数组

package com.ztt.Demo01;

public class demo01 {
	public static void main(String[] args) {
		String s1 = "阴天傍晚车窗外";
		
		//遍历字符串
		//方式1:通过charAt()方法
		for(int i = 0;i < s1.length();i++) {
			char c = s1.charAt(i);
			System.out.print(c);
		}
		System.out.println();
		//方式2:通过字符数组
		char[] array = s1.toCharArray();//将字符串转换成char[]字符数组
		for(int i = 0;i < array.length;i++) {
			char c = array[i];
			System.out.print(c);
		}
	}
}

输出结果:

阴天傍晚车窗外
阴天傍晚车窗外

2.字符串的比较

实现方式: String类implements实现了Comparable接口,重写了compareTo()方法‘

package com.ztt.Demo01;

public class demo02 {
	
		//字符串的比较
		//实现方式: String类implements实现了Comparable接口,重写了compareTo()方法
		public static void main( String[] args) {
		String s1 = "abbf";
		String s2 = "abf";
		
		System.out.println(s1.compareTo(s2));
		
	}

}

输出结果:

-4

3.字符串的内容等值比较

实现思路:重写object类的equals()方法

package com.ztt.Demo01;

//字符串的内容等值比较
//实现思路:重写object类的equals()方法
public class demo03 {
	public static void main( String[ ] args) {
		//字符串常量池
		String s1 = "just so so" ;
		String s2 = "just so so";
		System.out.println(s1 == s2);//比较内存地址 
		System.out.println(s1.equals(s2)); //比较内容
		
		//在堆区重新分配空间
		String s3 = new String( "just so so" );
		String s4 = new String( "just so so" );
		System.out.println(s3 == s4); //比较内存地址
		System.out.println(s3.equals(s4));//比较内容
	}
}

输出结果:

true
true
false
true

4.字符串的查找搜索

indexOf()方法:从原字符串中查找目标字符串,返回第一次出现的位置

lastIndexOf()方法:从原字符串中查找目标字符串,返回最后一次出现的位置

contains()方法:判断原字符串中是否存在目标字符串

startwWith()方法:判断原字符串是否以目标字符串开头

endsWith()方法:判断原字符串是否以目标字符串结尾

package com.ztt.Demo01;

public class demo04 {

	public static void main(String[] args) {
		//字符串的查找
		String s="可怜无定河边骨";//原字符串
		String target="河";//目标字符串
		
		//indexOf()方法
		//如果存在:返回该目标字符串的下标(>=0)
		//如果不存在:返回-1
		int index=s.indexOf(target);
		System.out.println(index);

	}

}

输出结果:
4
package com.ztt.Demo01;
//字符串的查找搜索
//indexOf()方法:从原字符串中查找目标字符串,返回第一次出现的位置
//lastIndexOf()方法:从原字符串中查找目标字符串,返回最后一次出现的位置
//contains()方法:判断原字符串中是否存在目标字符串
//startwWith()方法:判断原字符串是否以目标字符串开头
//endsWith()方法:判断原字符串是否以目标字符串结尾

public class demo05 {

	public static void main(String[] args) {
		String s="唧唧复唧唧木兰当户织";
		String target="当户织";
		
		boolean isEnd=s.endsWith(target);
		System.out.println(isEnd);
		
		boolean isStrats=s.startsWith(target);
		System.out.println(isStrats);
		
		//lastIndexOf()方法:
		//如果存在,则返回true
		//如果不存则,则返回false
		boolean isContains = s.contains(target);
		System.out.println( isContains );
		
		//lastIndexOf()方法:
		//如果存在:返回该目标字符串的下标(>=0)
		//如果不存在:返回-1
			
		int index = s.lastIndexOf(target);	
		System.out.println(index ) ;
		
		// indexOf()方法:
		//如果存在:返回该目标字符串的下标(>=0)
		//如果不存在:返回-1
			
		int index1 = s.indexOf(target,2);	
		System.out.println(index1 ) ;	

	}

}


输出结果:
true
false
true
7
7

5.截取字符串:

字符串是不可变的每次截取,都会产生一个新的字符对象  使用substring() 方法 

package com.ztt.Demo01;

public class demo08 {

	public static void main(String[] args) {
		//字符串是不可变
		String s ="我本将心向明月";
		
		//每次截取,都会产生一个新的字符对象
		String ret = s.substring(4);
		
		System.out.println(s);
		System.out.println(ret);

	}

}

输出结果:
我本将心向明月
向明月

5.去除首位“空白字符” 空白字符:空格 \t \r \n 使用:trim()方法 

package com.ztt.Demo01;

public class demo09 {

	public static void main(String[] args) {
		//空白字符:空格 \t \r \n
		String s=" ABC\t\r\n";
		
		//去除首位“空白字符”
		s=s.trim();
		
		System.out.println(s);
		System.out.println(s.length());
		

	}

}

输出结果:
ABC
3

6.替换字符串

使用:1.replace() 方法 

           2.replaceAll()方法使用正则表达式进行匹配

              [\\,\\.\\$]匹配一个字符内容

              [\\,\\.\\$]+匹配多个字符内容

package com.ztt.Demo01;

public class demo10 {

	public static void main(String[] args) {
		// 替换字符串
		String ip="127.0.0.1";
		
		//字符替换字符
		String ret=ip.replace('.', '#');
		
		//字符串替换字符串
		String ret1=ip.replace(".", "[.]");
		
		System.out.println("原字符串:"+ip);
		System.out.println("替换结果:"+ret);
		System.out.println("替换结果:"+ret1);
		

	}

}

输出结果:
原字符串:127.0.0.1
替换结果:127#0#0#1
替换结果:127[.]0[.]0[.]1
package com.ztt.Demo01;
//字符串的替换
public class demo11 {

	public static void main(String[] args) {
		String s= "A,B,,C,D.E,G$H.I";
		//replace()方法将“,” “.”替换成“#”
		String ret=s.replace(",", "#").replace(".", "#");
		
		//replaceAll()方法使用正则表达式进行匹配
		//[\\,\\.\\$]匹配一个字符内容
		//[\\,\\.\\$]+匹配多个字符内容
		String ret1=s.replaceAll("[\\,\\.\\$]+", "#");
		//[A-Z]+ 匹配多个大写字母
		String ret2=s.replaceAll("[A-Z]+", "#");
		
		// "."代表1个正则表达式,匹配任意字符
		//“\\."代表1个普通字符串内容,仅匹配"."
		String ret3 = s.replaceAll("\\.","#");
		
		System.out.println(s);
		System.out.println(ret);
		System.out.println(ret1);
		System.out.println(ret2);
		System.out.println(ret3);

	}

}


输出结果:
A,B,,C,D.E,G$H.I
A#B##C#D#E#G$H#I
A#B#C#D#E#G#H#I
#,#,,#,#.#,#$#.#
A,B,,C,D#E,G$H#I

7.字符串的分割  使用:split() 方法 

 

package com.ztt.Demo01;

import java.util.Arrays;

//字符串的分割
public class demo12 {

	public static void main(String[] args) {
		String s1 ="北京#上海#南京#苏州#杭州3常州#无锡#深圳#乌鲁木齐";
		String[] ret1 = s1.split("\\#");
		System.out.println(s1);
		System.out.println(Arrays.toString( ret1));
		
		//按照正则表达式的特殊字符进行分割
		String s2 ="北京+上海+南京+苏州+杭州+常州+无锡+深圳+乌鲁木齐";
		String[] ret2 = s2.split("\\+");//+属于正则表达式的特殊符号,必须转义
		System.out.println(s2);
		System.out.println(Arrays.toString(ret2) );
		
		//按照正则表达式进行分割
		String s3 = "北京A上海F南京K苏州w杭州u常州M无锡s深圳w乌鲁木齐";
		String[] ret3 = s3.split("[A-Z]");
		System.out.println(s3);
		System.out.println(Arrays.toString(ret3));
		
		String s4 = "北京0上海2南京7苏州1杭州4常州2无锡8深圳55乌鲁木齐";
		String[] ret4 = s4.split("[0-9]+");
		System.out.println(s4);
		System.out.println(Arrays.toString(ret4));

	}

}


输出结果:
[北京, 上海, 南京, 苏州, 杭州3常州, 无锡, 深圳, 乌鲁木齐]
北京+上海+南京+苏州+杭州+常州+无锡+深圳+乌鲁木齐
[北京, 上海, 南京, 苏州, 杭州, 常州, 无锡, 深圳, 乌鲁木齐]
北京A上海F南京K苏州w杭州u常州M无锡s深圳w乌鲁木齐
[北京, 上海, 南京, 苏州w杭州u常州, 无锡s深圳w乌鲁木齐]
北京0上海2南京7苏州1杭州4常州2无锡8深圳55乌鲁木齐
[北京, 上海, 南京, 苏州, 杭州, 常州, 无锡, 深圳, 乌鲁木齐]

8.拼接字符串(将多个字符串元素按照指定格式拼接成完整字符串)

拼接字符串常用:

String.join()方法:将多个字符串元素使用指定字符串,拼接成完整字符串

String .format()方法:将多个数据元素按照指定格式,拼接成完整字符串

package com.ztt.Demo01;
//拼接字符串(将多个字符串元素按照指定格式拼接成完整字符串)
//拼接字符串
//String.join()方法:将多个字符串元素使用指定字符串,拼接成完整字符串
// String .format()方法:将多个数据元素按照指定格式,拼接成完整字符串

public class demo13 {
	
	public static void main(String[] args) {
		//String.join()方法:普通拼接
		//传入数组
		String[] arr = {"西安","宝鸡","渭南","安康","汉中","铜川","延安"};
		String ret1 = String.join( "$", arr);
		System.out.println(ret1);
		
		//传入动态参数
		String ret2 = String.join("$","西安","宝鸡","渭南","安康");
		System.out.println(ret2);
		
		//String.format():格式化拼接
		String ret3=String.format("商品价格¥%f,库存%d,卖家%s", 1234.56,100,"今晚打老虎");
		System.out.println(ret3);
	}

}

输出结果:
西安$宝鸡$渭南$安康$汉中$铜川$延安
西安$宝鸡$渭南$安康
商品价格¥1234.560000,库存100,卖家今晚打老虎

 

 

 

 

 

 

 

 

 

 

  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中处理字符串可以使用多种方法,以下是几种常见方法方法一:使用字符串的内置方法 可以使用字符串的内置方法来处理字符串,例如使用Contains()方法来检查字符串是否包含某个指定的子字符串,使用Replace()方法来替换字符串中的指定字符或子字符串。可以使用Substring()方法来获取字符串的子串。还可以使用Split()方法字符串拆分成数组,使用Join()方法将数组拼接成字符串方法二:使用正则表达式 正则表达式是一种强大的字符串处理工具。可以使用正则表达式来匹配、查找、替换字符串中的特定模式。C#中提供了Regex类来操作正则表达式。 方法三:使用StringBuilder类 如果需要对字符串做大量的修改操作,可以使用StringBuilder类。StringBuilder类提供了一组方法来对字符串进行添加、删除、替换等操作。与字符串不同,StringBuilder对象可以直接修改,而不会创建新的字符串对象。 方法四:使用字符串的格式化 在C#中,可以使用字符串的格式化来对字符串进行处理。可以使用String.Format()方法或者使用插值表达式($)来将变量或表达式插入到字符串中。 总结:C#中有多种方法可以处理字符串,可以根据具体需求选择合适的方法。可以使用字符串的内置方法、正则表达式、StringBuilder类或者字符串的格式化来对字符串进行处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C#字符串(string)操作](https://blog.csdn.net/caoyanchao1/article/details/121547036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [C# string字符串内存管理深入分析(全程干货)](https://blog.csdn.net/qq_52855744/article/details/126738039)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值