请问如何将一串字符串中的英文引号转变成中文的引号,要考虑前后 如这样一串字符串 【实现要转移的字符把"单引号"变成"双引号"】用java如何才能把其中的英文双引号变成中文的呢?要考虑前后引号,前面的是“,后面的是”。返回结果:【实现要转移的字符把“单引号”变成“双引号”】 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //Sampleimport java.util.regex.*;public class RegexSample { /** * @param args */ public static void main(String[] args) { String regex = "\"\\w*?\"";//正则表达式匹配串 String str,str2; String strOri = "haha\"123\"hehe\"4567\"hihi";//待处理字符串 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(strOri); while(matcher.find()) { str = matcher.group(); str2 = str; str2 = str2.replaceAll("\"", "");//去掉前后引号 str2 = "“"+str2+"”"; //前后添上中文引号 strOri = strOri.replace(str, str2); } System.out.println(strOri);//输出结果 }} //package com.ricky.www;/*如这样一串字符串 【实现要转移的字符把"单引号"变成"双引号"】用java如何才能把其中的英文双引号变成中文的呢?要考虑前后引号,前面的是“,后面的是”。返回结果:【实现要转移的字符把“单引号”变成“双引号”】*/import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test{ public static void main(String[] args){ String content = "【实现要转移的字符把\"单引号\"变成\"双引号\"】"; String result = process(content); } public static String process(String content){ String regex = "(.*)\"(.*)\"(.*)"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(content); while(matcher.find()){ content = matcher.group(1) + "“" + matcher.group(2) + "”" + matcher.group(3); matcher = pattern.matcher(content); } System.out.println(content); return content; }} String orginal= "\"haha\"123\"hehe\"4567\"hihi\"";String replaced = orginal.replaceAll("\"(.*?)\"", "“$1”"); 你试试这个String s = "\"\"haha\"123\"hehe\"4567\"hihi\"\""; 8楼正解,学习了String orginal= "\"\"haha\"123\"hehe\"4567\"hihi\"\""; String replaced = orginal.replaceAll("\"(.*)\"", "“$1”"); String s = replaced.replaceAll("\"(.*?)\"", "“$1”"); System.out.println(replaced); System.out.println(s); 根据语文标点规范。双引号中若有引号,其中的引号应该使用单引号,若单引号中再有引号,应使用双引号,也就是这样的:"abc 'abc "123" defg' defg" coreJava上一个多线程的例子 请教各位大侠:ACCESS数据库里的排序语句是什么? 如何判断StringBuffer是否为空? 插入的中文成了?怎么解决 使用Spring管理事务不能回滚,在线等.急急急 单选按纽Checkbox的问题 江湖救急,两个问题 关于jTextAera的 确实晕头了,需要高手提醒!分值1000 JRUN4.0怎么用 这样的SQL的语句为何在JAVA Applet中不能运行 100分再来求助,晚上三帖一起结,好心人继续帮助 请教一个基础问题!
//Sampleimport java.util.regex.*;public class RegexSample { /**
* @param args
*/
public static void main(String[] args) {
String regex = "\"\\w*?\"";//正则表达式匹配串
String str,str2;
String strOri = "haha\"123\"hehe\"4567\"hihi";//待处理字符串
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(strOri);
while(matcher.find())
{
str = matcher.group();
str2 = str;
str2 = str2.replaceAll("\"", "");//去掉前后引号
str2 = "“"+str2+"”"; //前后添上中文引号
strOri = strOri.replace(str, str2);
}
System.out.println(strOri);//输出结果 }}
//package com.ricky.www;
/*
如这样一串字符串 【实现要转移的字符把"单引号"变成"双引号"】用java如何才能把其中的英文双引号变成中文的呢?要考虑前后引号,前面的是“,后面的是”。
返回结果:【实现要转移的字符把“单引号”变成“双引号”】
*/import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test{
public static void main(String[] args){
String content = "【实现要转移的字符把\"单引号\"变成\"双引号\"】";
String result = process(content);
} public static String process(String content){
String regex = "(.*)\"(.*)\"(.*)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content); while(matcher.find()){
content = matcher.group(1) + "“" + matcher.group(2) + "”" + matcher.group(3);
matcher = pattern.matcher(content);
} System.out.println(content); return content;
}
}
String replaced = orginal.replaceAll("\"(.*?)\"", "“$1”");
String replaced = orginal.replaceAll("\"(.*)\"", "“$1”");
String s = replaced.replaceAll("\"(.*?)\"", "“$1”");
System.out.println(replaced);
System.out.println(s);