替换指定指针后的字符串

/**
* 替换指定指针后的字符串
* @param str yyyyMMdd
* @param subInt  要截取的指针
* @return replaceStr  要替换的str  
* @return str  
*/
public static String getSubString(String str,int subInt ,String replaceStr){
// str = "20160712";
if(str.length()> subInt){
String a = str.substring(0,subInt);
String b = str.substring(subInt);
// System.out.println("----nowtime:a"+a);//201607
// System.out.println("----nowtime:b"+b);//12
str = a+replaceStr;
}
return str;
}
### C语言使用指针实现字符串替换的方法 在C语言中,可以利用指针操作来实现字符串替换的功能。通过遍历目标字符串并逐个比较字符,当发现匹配的子字符串时,则将其替换成新的子字符串[^2]。 以下是基于指针操作的一个完整的示例代码: ```c #include <stdio.h> #include <string.h> // 替换指定字符串为新字符串 char* string_replace(char* source, const char* target, const char* replacement) { size_t t_len = strlen(target); size_t r_len = strlen(replacement); if (t_len == 0 || !source) return NULL; char* p = source; char buffer[strlen(source) + 1]; strcpy(buffer, source); while ((p = strstr(p, target)) != NULL) { memmove(p + r_len, p + t_len, strlen(p + t_len) + 1); // 向右移动剩余部分 memcpy(p, replacement, r_len); // 插入替代字符串 p += r_len; // 继续处理后续部分 } return source; } int main() { char str[100] = "Hello, world!"; const char* target = "world"; const char* replacement = "universe"; printf("原始字符串: %s\n", str); string_replace(str, target, replacement); printf("替换后的字符串: %s\n", str); return 0; } ``` #### 解析 上述代码实现了将`target`子字符串替换为`replacement`的新字符串功能。具体逻辑如下: - `strstr()` 函数用于定位待替换的目标子字符串的位置[^4]。 - 当找到目标子字符串后,调用 `memmove()` 将原字符串中该位置之后的部分向右移位,腾出空间插入新的子字符串。 - 利用 `memcpy()` 把替代字符串复制到对应位置。 - 更新指针继续扫描余下的字符串直到结束[^2]。 此方法充分利用了指针的操作特性,在内存管理和性能方面表现良好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值