❶ 用java编一个文本汉字替换程序
package com.;
import java.io.*;
public class ReplaceChinese {
public static void main(String[] args) {
String filePath = "F:\\workspace\\onlineChat\\src\\com\\\\ReplaceChinese.java";
File file = new File(filePath);
if (!file.exists()) {
System.out.println("文件不存在!");
return;
}
BufferedReader reader = null;
String result = "";// 用于存修改后的文字
String lineString = "";
try {
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
for (int i = 0; i < tempString.length(); i++) {
if (tempString.substring(i, i + 1).matches(
"[\u4e00-\u9fa5]")) {
lineString += "[您要替换的代码]";
} else {
lineString += tempString.substring(i, i + 1);
}
}
result += lineString + "\n";
lineString = "";
line++;
}
reader.close();
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("F:\\workspace\\onlineChat\\src\\com\\\\ReplaceChinese1.java")));
bw.write(result);
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
}
由于时间紧迫,只把功能实现了,优化你自己做做,能够成功运行
❷ java怎样将字符串中的字母替换掉
一:思路:
使用java方法replaceAll();通过正则表达式匹配替换掉所有的字母。
二:代码如下(可直接复制出来运行,在控制台中查看效果):
publicstaticvoidmain(String[]args){
Stringstr="abc123123成你懂吗bxcxsaf";
//通过正则表达式替换掉所有的字母
StringstrNew=str.replaceAll("[a-zA-Z]","");
System.out.println(strNew);
}
运行结果如下:
三:扩展(正则表达式)
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多情况下,通常被用来,检索和替换符合某个规则的文本。
PS:有兴趣可以深入研究一下正则表达式的语法,及规则。
❸ Java 字符串替换
importjava.util.regex.*;
publicclassRepTest{
publicstaticvoidmain(String[]args){
Stringsrc=">=,<=,=,>=,<=,=,>=,<=,=,>=,<=,=,>=,<=,=,>=,<=,=,";
System.out.println("原串:"+src);
Matcherma=Pattern.compile("[^><]=").matcher(src);
while(ma.find()){
src=src.replaceAll(ma.group(),"");
}
System.out.println("替换:"+src);
//其实还有一个思路,你可以拿逗号切成数组,然后对数组元素进行判断,拿=号切也可以!
}
}
❹ java 替换文件内容
代码如下:
/***
* 方法:
* @Title: replaceContentToFile
* @Description: TODO
* @param @param path 文件
* @param @param str 开始删除的字符
* @param @param con 追加的文本
* @return void 返回类型
* @throws
*/
public static void replaceContentToFile(String path, String str ,String con){
try {
FileReader read = new FileReader(path);
BufferedReader br = new BufferedReader(read);
StringBuilder content = new StringBuilder();
while(br.ready() != false){
content.append(br.readLine());
content.append("\r\n");
}
System.out.println(content.toString());
int dex = content.indexOf(str);
if( dex != -1){
System.out.println(content.substring(dex, content.length()));
content.delete(dex, content.length());
}
content.append(con);
br.close();
read.close();
FileOutputStream fs = new FileOutputStream(path);
fs.write(content.toString().getBytes());
fs.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
}
❺ java如何实现替换指定位置的指定字符串的功能
可以使用StringBuffer定义字符串,之后使用replace方法替换指定位置的字符串为指定的字符串内容,如下代码:
public
class
Demo1
{
public
static
void
main(String[]
args)
{
StringBuffer
buffer
=
new
StringBuffer("123456");
System.out.println(buffer.toString());//输出123456
buffer.replace(0,
1,
"a");
System.out.println(buffer.toString());//输出a23456
}
}
这里简单介绍一下replace方法的使用,replace方法一共有三个参数,第一个参数是指定要替换的字符串的开始位置,第二个参数是指定要替换的字符串的结束位置(注意这里的结束位置不包括本身),第三个参数是指定想将字符串替换成什么内容。
如:原字符串内容为"123456",现在调用replace(0,
2,
"abc"),原字符串变为"abc3456"
❻ java如何替换文本中所有的字符串ab,但abc中的ab不变
建议使用正则匹配
替换文本中所有的字符串ab,但abc中的ab不变
ab(?!c)
就是说如果现在要替换asdfgh,如果有asdfghjkl,这个地方不换,只有asdfgh前后不是英文字母才换
如果是独立单词的话:
asdfgh
如果是匹配前后不是英文字母的话:
[^a-zA-Z](asdfgh)[^a-zA-Z]?