社区
Web 开发
帖子详情
文字替换问题
zity_chow
2011-12-30 10:42:38
String str = "一二三四一二三四一二三四一二三四";
str = str.replace( "一", "零" );
如果这样,会把所有的“一”都替换成“零”。
请问怎样才能是替换前几个或者后几个“一”,或者替换第N个“一”
...全文
224
22
打赏
收藏
文字替换问题
String str = "一二三四一二三四一二三四一二三四"; str = str.replace( "一", "零" ); 如果这样,会把所有的“一”都替换成“零”。 请问怎样才能是替换前几个或者后几个“一”,或者替换第N个“一”
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
达布留西
2012-01-04
打赏
举报
回复
我觉得我们都不明白楼主什么意思,楼主你自己什么需求,自己改改吧,你的变动太大了
zity_chow
2012-01-04
打赏
举报
回复
如果替换的不是一个字,而是词组或者句子呢?[Quote=引用 19 楼 zhangguicheng12 的回复:]
那就把String 转换成数组
public static void main(String[] args) {
String shuzi="一二三四一二三四一二三四一二三四";
String[] shuzis=shuzi.split("");
String houshuzi="";//替换全部
for(int i=1;i<shuzis.length;i++){
if("一".e……
[/Quote]
张正
2012-01-02
打赏
举报
回复
public static String maths(String shuzi,int forward){
String[] shuzis=shuzi.split("");
String houshuzi="";//替换
int oneForward=0;//前面几个
if(forward!=0){
for(int i=1;i<shuzis.length;i++){
if(oneForward<forward){
if("一".equals(shuzis[i].toString())){
houshuzi+=shuzis[i].replace("一", "零");
oneForward++;
}else{
houshuzi+=shuzis[i];
}
}else{
houshuzi+=shuzis[i];
}
}
}
return houshuzi;
}
public static void main(String[] args) {
String shuzi="一二三四一二三四一二三四一二三四一二三四";
System.out.println(Test.maths(shuzi,2));//零二三四零二三四一二三四一二三四一二三四
}
向后也一样 !LZ自己发散
张正
2012-01-02
打赏
举报
回复
那就把String 转换成数组
public static void main(String[] args) {
String shuzi="一二三四一二三四一二三四一二三四";
String[] shuzis=shuzi.split("");
String houshuzi="";//替换全部
for(int i=1;i<shuzis.length;i++){
if("一".equals(shuzis[i].toString())){
houshuzi+=shuzis[i].replace("一", "零一");
}else{
houshuzi+=shuzis[i];
}
}
System.out.println(houshuzi);//零一二三四零一二三四零一二三四零一二三四
}
[Quote=引用 13 楼 zity_chow 的回复:]
引用 9 楼 licip 的回复:
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
这个如果我想替换的是:将“一”替换成“零一”呢
那么是不是变成“零零零一二三四一……
[/Quote]
zity_chow
2012-01-02
打赏
举报
回复
[Quote=引用 16 楼 cs123456789dn 的回复:]
我也觉得找索引然后在替换这个是一个万能的方法
[/Quote]
请问怎样找索引?
zity_chow
2012-01-02
打赏
举报
回复
[Quote=引用 15 楼 jaygo311 的回复:]
可以先检索,在替换,也可以将字符串按照所要替换的字符进行截取
[/Quote]
具体要怎样做,可以说清楚点吗?
Super_Ninja
2012-01-01
打赏
举报
回复
上面的这些写法都缺乏灵活性吧,只有在你非常清楚字符串的结构的情况下并且需要知道替换几个才行这样写还行,总觉得不好.
[Quote=引用 13 楼 zity_chow 的回复:]
引用 9 楼 licip 的回复:
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
这个如果我想替换的是:将“一”替换成“零一”呢
那么是不是变成“零零零一二三四一……
[/Quote]
对java有感觉
2012-01-01
打赏
举报
回复
我也觉得找索引然后在替换这个是一个万能的方法
jaygo311
2012-01-01
打赏
举报
回复
可以先检索,在替换,也可以将字符串按照所要替换的字符进行截取
zity_chow
2011-12-31
打赏
举报
回复
[Quote=引用 9 楼 licip 的回复:]
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
[/Quote]
这个如果我想替换的是:将“一”替换成“零一”呢
那么是不是变成“零零零一二三四一二三四一二三四一二三四”了?
arvon009
2011-12-30
打赏
举报
回复
下面是替换前几个“一”的算法,若替换后几个“一”则需反循环
public String replaceWithSpecificString(String orignal, String oldStr,
String newStr, int times) {
String replce = "";
for (int i = 0; i < orignal.length(); i++) {
if (times > 0) {
if (orignal.charAt(i) == oldStr.charAt(0)) {
boolean match = true;
for (int j = 1; j < oldStr.length(); j++) {
if (orignal.charAt(i + j) != oldStr.charAt(j)) {
match = false;
break;
}
}
if (match) {
replce += newStr;
i += (oldStr.length() - 1);
times--;
}
} else {
replce += orignal.charAt(i);
}
} else {
replce += orignal.charAt(i);
}
}
return replce;
}
这是替换第N个‘一’的算法
public String replaceWithSpecificString(String orignal, String oldStr,
String newStr, int N) {
String replce = "";
for (int i = 0; i < orignal.length(); i++) {
if (N > 0) {
if (orignal.charAt(i) == oldStr.charAt(0)) {
boolean match = true;
for (int j = 1; j < oldStr.length(); j++) {
if (orignal.charAt(i + j) != oldStr.charAt(j)) {
match = false;
break;
}
}
if (match) {
if(N == 1) {
replce += newStr;
} else {
replce += orignal.charAt(i);
}
i += (oldStr.length() - 1);
N--;
}
} else {
replce += orignal.charAt(i);
}
} else {
replce += orignal.charAt(i);
}
}
return replce;
}
zity_chow
2011-12-30
打赏
举报
回复
[Quote=引用 3 楼 huai__ye 的回复:]
采用字符串截取在替换的方式展开;
如: String str = "一二三四一二三四一二三四一二三四";
str= str.substring(0, 6).replace("一", "零")+str.substring(6, str.length());
结果:零二三四零二三四一二三四一二三四
[/Quote]
如果“一”的位置不确定呢?
孤雨
2011-12-30
打赏
举报
回复
自己随便指定个范围,然后就可以换了。应该没有现成的方法。
licip
2011-12-30
打赏
举报
回复
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
我嘞个去
2011-12-30
打赏
举报
回复
当然你也可以找索引 想换那个 换那个!
funfenffun
2011-12-30
打赏
举报
回复
String里面封装了一个replaceFirst()方法,替换字符串的第一个匹配,lz可以仿着这个的源码来写
应该没有什么封装好的方法,否则replaceFirst()就是鸡肋了
zysnba
2011-12-30
打赏
举报
回复
采用字符串截取在替换的方式展开;
如: String str = "一二三四一二三四一二三四一二三四";
str= str.substring(0, 6).replace("一", "零")+str.substring(6, str.length());
结果:零二三四零二三四一二三四一二三四
懒到变成虫
2011-12-30
打赏
举报
回复
这个前几个、后几个有什么规律吗?这样的需求只能自己定位进行查找替换了。
YeHuai1991
2011-12-30
打赏
举报
回复
采用字符串截取在替换的方式展开;
如: String str = "一二三四一二三四一二三四一二三四";
str= str.substring(0, 6).replace("一", "零")+str.substring(6, str.length());
结果:零二三四零二三四一二三四一二三四
zysnba
2011-12-30
打赏
举报
回复
要不就安装下标来替换
加载更多回复(1)
C/C++编程学习 - 第18周 ② 字符
替换
题目链接 题目描述 把一个字符串中特定的字符全部用给定的字符
替换
,得到一个新的字符串。 输入格式 只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。 字符串是待
替换
的字符串,字符串长度小于等于 30 个字符,且不含空格等空白符; 接下来一个字符为需要被
替换
的特定字符; 接下来一个字符为用于
替换
的给定字符。 输出格式 一行,即
替换
后的字符串。 Sample Input hello-how-are-you o O Sample Output hellO-hOw-are-yOu 思路 把字符串中的某个
html制作字符批量
替换
工具,字符批量
替换
工具
字符批量
替换
工具是一款简单易用的能够将文件或者文件夹内的TXT、ini、bat格式的文件中的
文字
或者字符串进行
替换
的工具,通常用来处理代码混乱或者小说翻新的
问题
,有需要的可以下载使用。相关软件软件大小版本说明下载地址字符批量
替换
工具是一款简单易用的能够将文件或者文件夹内的TXT、ini、bat格式的文件中的
文字
或者字符串进行
替换
的工具,通常用来处理代码混乱或者小说翻新的
问题
,有需要的可以下载使用。...
字符
替换
专家:文本批量处理的利器
为了应对不同的
替换
需求,一些
文字
替换
工具提供了自定义规则和高级模式的功能。这意味着用户可以根据自己的需求定义特定的
替换
规则,以处理特殊情况,如不同语境下的同一名词
替换
等。高级模式则可能包括复杂的正则表达式支持、文本格式的识别和保持,以及脚本的编写与执行。高级模式的引入,使得
文字
替换
工作不仅限于简单的一对一
替换
,还能够处理复杂的文本格式和特殊语境中的
替换
问题
,显著增强了工具的适用性和灵活性。graph LRA[开始
替换
任务] --> B[加载自定义规则]B --> C[文本分析与识别]
10:字符
替换
只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待
替换
的字符串,字符串长度。把一个字符串中特定的字符全部用给定的字符
替换
,得到一个新的字符串。接下来一个字符为需要被
替换
的特定字符;接下来一个字符为用于
替换
的给定字符。个字符,且不含空格等空白符;一行,即
替换
后的字符串。
Java字符
替换
指定索引位置的字符】——实现字符串指定位置字符
替换
的技巧
例如,我们可能需要将字符串中的某个字符
替换
为另一个字符,或者将某个位置的字符
替换
为一串新的字符。通过将字符串转换为字符数组,并利用数组的可变性,我们成功地
替换
了字符串中指定位置的字符。然后,我们将字符串转换为字符数组,并将指定位置的字符
替换
为新的字符。在Java编程中,经常会遇到需要
替换
字符串中指定位置的字符的情况。本文将介绍一种高效的方法,通过代码示例和详细描述,帮助读者掌握字符串
替换
的技巧。Java中的字符串是不可变的,意味着我们无法直接修改字符串中的某个字符。首先,我们检查输入的字符串是否为。
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章