HW—指定字符替换Java(replace)---动态和静态定义字符串数组;
总结:
- 语法层面上:这里主要用到Java字符串的替换函数,str.replaceAll("待替换的","替换成的")。replaceAll接受的是正则花的regex
- 还要注意替换不影响原来的字符串,只有左边付给原来的字符串时,才达到彻底替换的结果。你也可以定义一个新的字符串去保存替换后的结果;
- 对于这种指定格式的输入,只要考虑按照标准输入就行了,而且按照这种标准输入的话,还要对相关字符串进行提取,比如用正则化提取的“->”;
- 定义字符串数组:
(1)静态的方法:
String tmp[]=new String[2];
(2)动态的方法: ArrayList<String> strArray = new ArrayList<String> (); 比较灵活 或者Vector<String> vec=new Vector<String>; - 最后算法上没有什么值得深究的地方;
题目要求:输入一个字符串,然后在输入一个整数,就是替换字符串的次数,然后依次输入需要替换的字符串……
例如:
输入:asdfghjasdfghj
3
as->bnm
df->qwe
gh->yui
输出:bnmqweyuijbnmqweyuij
意思就是,将输入的字符串中,as替换成bnm,df替换成qwe,gh替换成yui,总共替换三次,注意次数是不限定的,可以是任意整数等。
如果输入的次数是2,举例说明:
输入:asdfgasdfg
2
as->bn
df->yuio
输出:bnyuiogbnyuiog
电脑测试版本:
import java.util.*;
public class StringReplace {
public static void main(String[] args){
System.out.println("请输入字符串:");
Scanner strOr=new Scanner(System.in);
String strIn = strOr.nextLine(); System.out.println("请输入要替换的个数:");
Scanner intOr=new Scanner(System.in);
int count= intOr.nextInt(); String tmp[]=new String[2]; //分隔
String str[]=new String[count]; //保存
for(int i=0;i<count;i++){
Scanner strOr2=new Scanner(System.in);
str[i]=strOr2.nextLine();
} for(int j=0;j<count;j++){
tmp=str[j].split("->"); //分隔存放到tmp中,这里是假设知道分隔后的长度
strIn=strIn.replaceAll(tmp[0], tmp[1]);
}
System.out.println(strIn);
} }
提交版本:
import java.util.*;
public class StringReplace {
public static void main(String[] args){
// System.out.println("请输入字符串:");
Scanner strOr=new Scanner(System.in);
String strIn = strOr.nextLine(); // System.out.println("请输入要替换的个数:");
Scanner intOr=new Scanner(System.in);
int count= intOr.nextInt(); String tmp[]=new String[2]; //分隔
String str[]=new String[count]; //保存
for(int i=0;i<count;i++){
Scanner strOr2=new Scanner(System.in);
str[i]=strOr2.nextLine();
} for(int j=0;j<count;j++){
tmp=str[j].split("->"); //分隔存放到tmp中,这里是假设知道分隔后的长度
strIn=strIn.replaceAll(tmp[0], tmp[1]);
}
System.out.println(strIn);
} }
HW—指定字符替换Java(replace)---动态和静态定义字符串数组;的更多相关文章
- url 中非法字符替换,java 正则替换
url在传输时不允许的一些字符串,参考自:http://www.ietf.org/rfc/rfc1738.txt 以下字符用java正则替换为"_",一句话搞定: "{& ...
- java中如何将字符串数组转换成字符串(转)
如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法 String[] str = {"abc", "bcd", "def"} ...
- Excel中将字符串中从右起第n个指定字符替换的方法
比如你想把www.baidu.com.cn中的倒数第二个”.”替换成@,则可以用: =SUBSTITUTE(A1,".","@",LEN(A1)-LEN(SUB ...
- java中排序一个字符串数组
package test_set_map; import java.util.Arrays; import java.util.Collections; public class Test_Colle ...
- Java中如何将字符串数组转换成字符串
如果将“字符串数组”转换成“字符串”,只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb ...
- java截取2个指定字符之间的字符串
/** * 截取字符串str中指定字符 strStart.strEnd之间的字符串 * * @param string * @param str1 * @param str2 * @return */ ...
- oracle去掉字符串中所有指定字符
Select Replace(字段名,'指定字符','替换字符') From 表名 --例: select replace('de.5d','.','') from dual --显示结果:de5d ...
- url删除指定字符
var str = "http://www.xxx.com/?pn=0"; // 删除指定字符 pn=0 // 我将这个字符串里所可能想到的各种情况都列举出来 var a = [ ...
- 【原】Java学习笔记023 - 字符串缓冲区_正则表达式
package cn.temptation; import java.util.Arrays; public class Sample01 { public static void main(Stri ...
随机推荐
- A Tour of Go Advanced Exercise: Complex cube roots
Let's explore Go's built-in support for complex numbers via the complex64 and complex128 types. For ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- VB.Net中点击按钮(Button)会重复提交两次表单
在VB.NET程序开发过程中遇到一个问题 提交一个表单时,button的html代码如下 <asp:Button ID="btnSubmit" OnClick="c ...
- 48. 面向对象的LotusScript(十四)之Log4Dom上
日志是开发系统时的有效工具和常见需求.它不仅可以在程序排错时提供调试信息,还可以记录系统运行的日常状况,以供需要时查询或集中起来分析.在一些主要的编程语言如Java中,都有不少日志框架可供选择.在Lo ...
- UVa123 - Searching Quickly
题目地址:点击打开链接 C++代码: #include <iostream> #include <set> #include <map> #include < ...
- android四大功能组件概要总结
1.activity 某一个activity对应于app中的一个具体的页面.而intent是具些activity都具有的同类型操作的抽象,比如Main View Edit PICK 已及所对应的数据 ...
- Winform- TreeView的使用例子
自动递归生成树,点击树节点的事件在treeView1_AfterSelect里编写,不多说了,直接上代码,备注在这里一下 public partial class Form1 : Form { pub ...
- 射击的乐趣:WIN32诠释打飞机游戏源码补充
打飞机游戏源码补充 从指定位置加载bmp并显示到对话框. , TRUE);, , LR_LOADFROMFILE); { BITMAP bmpinfo; ...
- Javascript Basic Operation Extraction
1. logic operation : '&&' and '||' .For this two logic operations,its' results are inconcl ...
- iOS开发-控件设置
一.用户界面控件共有三种基本模式:动态.静态(非动态)和被动 动态:点击它们时会发生事情——通常是出发一段自己编写的时间代码. 被动:仅用于存储用户输入的值,以备后续使用.这些控件不会触发任何操作方法 ...