截取字符串中的字串

本文总结了在编程中提取字符串子串的两种常见方法。第一种是使用`strncpy`函数,需要注意手动添加结束标志。第二种是自定义函数`substr`,该函数从指定位置截取指定长度的子串,并在末尾添加结束符。这两种方法在字符串操作中十分实用。

在写力扣时候,发现很多关于字符串的处理需要提取字符串字串,这里统一总结一下自己在网上看到的不同方法。

第一种:采用

strncpy(p,src+start,len);

但是需要考虑一点就是,strncpy函数不会把结束标志也拷贝进来,需要自己在末尾添加结束标志。

p[len]='\0';

第二种:自己实现一个函数

int substr(char *dst,char *str,int start,int len);
int substr(char *dst, char *src, int start, int len)
{
	int i = 0;
	if (dst==NULL) {
		return -1;
	}
	for ( i = 0; i < len; i++) {
		dst[i] = src[i + start];
	}
	dst[len] = '\0';
	return 0;
}

### Java 中截取字符串指定索引之后的子串 在 Java 中,可以使用 `substring` 方法来获取字符串的一部分。该方法有两种形式: 1. **`substring(int beginIndex)`**: 返回从 `beginIndex` 开始到字符串结尾的部分。 2. **`substring(int beginIndex, int endIndex)`**: 返回从 `beginIndex` 到 `endIndex - 1` 的部分。 如果尝试访问超出范围的索引,则会抛出 `StringIndexOutOfBoundsException`[^1]。因此,在调用 `substring` 前应确保索引有效。 以下是基于第一个参数的形式的一个简单代码示例: ```java public class SubstringExample { public static void main(String[] args) { String str = "HelloWorld"; // 截取从索引5开始直到字符串结束的内容 try { String subStr = str.substring(5); System.out.println(subStr); // 输出 "World" } catch (StringIndexOutOfBoundsException e) { System.err.println("Invalid index provided."); } } } ``` 上述代码展示了如何通过提供起始索引来提取字符串的子串[^1]。注意这里只提供了单个参数给 `substring()` 函数,这意味着它将返回从第5个字符(包括)一直到原字符串末尾的所有字符。 #### 关于异常处理的重要性 由于非法索引可能导致程序崩溃,所以在实际应用中加入错误捕获机制是非常重要的。正如前面提到的例子那样,我们应当考虑并妥善管理可能发生的 `StringIndexOutOfBoundsException`[^1]。 另外需要注意的是,虽然上面给出了一种遍历配置列表并将数据源映射存储起来的方式作为背景信息[^2],但它并不直接涉及字符串操作或者展示具体的 `substring` 使用场景。不过这有助于理解更广泛的应用上下文中如何安全有效地处理各种类型的输入验证和边界条件检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值