社区
Java SE
帖子详情
180分高分,求解一个替换问题!谢谢!急!!
jk3278jk
2004-10-25 11:34:18
要求实现:
String str ="中国123abc中国";
实现结果为: "中国 123abc 中国"
就是将英文aciis码小于128的字串与中文之间用空格隔开。
如果实现?急。。 解决后立即给分。
...全文
114
11
打赏
收藏
180分高分,求解一个替换问题!谢谢!急!!
要求实现: String str ="中国123abc中国"; 实现结果为: "中国 123abc 中国" 就是将英文aciis码小于128的字串与中文之间用空格隔开。 如果实现?急。。 解决后立即给分。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackkui
2004-10-25
打赏
举报
回复
用正则表达式
这个表达式可以得到所有的ASCII的字符串数组,不过有的为空,要去掉
String[] temp1 = str.split("[^\\p{ASCII}]");
这个表达式得到所有的非ASCII的字符串数组,俄有时去掉所有的空字符串
String[] temp2 = str.split("[(\\p{ASCII})+]");
然后把祛除空后的字符串数组,进行连接就行了,他们肯定是间隔为一的
连接时添加上相应的空格就行了吧.
baijsp
2004-10-25
打赏
举报
回复
靠!楼主说话还是算话的呀!哈哈
playboylee
2004-10-25
打赏
举报
回复
递归第一个与第二个字符是否在大于128,如果是的话,中间加空格.细节问题慢慢来。。。顶
j2nix
2004-10-25
打赏
举报
回复
class Test
{
public static void main(String[] args)
{
String str =args[0];
String sb = "" + str.charAt(0);
char c1;
char c2;
for (int i=1; i<str.length(); i++)
{
c1 = str.charAt(i-1);
c2 = str.charAt(i);
if ((c1 - 128) * (c2-128) < 0)
{
sb = sb + " " + c2;
}
else
sb = sb + c2;
}
System.out.println(sb);
}
}
以上运行性能很差,只是想说明思路。
baijsp
2004-10-25
打赏
举报
回复
楼主的信誉分太低了,不知道你是不是说话算数的人!呵呵
tomuno
2004-10-25
打赏
举报
回复
输入时分成两个区域可以么?
边城狂人
2004-10-25
打赏
举报
回复
/*
* @(#) Test.java
* Create By James Fancy
*/
package jamesfancy;
public class Test {
public static String convert(String s) {
if (s.length() < 1) {
return s;
}
StringBuffer buffer = new StringBuffer(s);
boolean isLetter = buffer.charAt(0) < 256;
for (int i = 1; i < buffer.length(); ++i) {
char ch = buffer.charAt(i);
if ((ch < 256) ^ isLetter) {
buffer.insert(i, ' ');
isLetter = !isLetter;
}
}
return buffer.toString();
}
public static void test() {
String str = "中国123abc中国a";
System.out.println(convert(str));
}
public static void main(String[] args) {
test();
}
}
fireredfox
2004-10-25
打赏
举报
回复
那就挨个找了,这一次的和上一次的比较,满足条件就插入空格。
____________________________________________________________-
同意
PS:怎么楼主的信誉才5阿,低的可怜的说!
hsdxhc
2004-10-25
打赏
举报
回复
当然不是逐个byte比较,看有多宽咯。
hsdxhc
2004-10-25
打赏
举报
回复
全部转化为unicode,再转化为byte[],相临做比较比较,不同则插入一个空格。
j2nix
2004-10-25
打赏
举报
回复
那就挨个找了,这一次的和上一次的比较,满足条件就插入空格。
压轴大题
高
分
练四.doc
压轴大题
高
分
练四.doc
联合多流融合和多尺度学习的卷积神经网络遥感图像融合方法.docx
联合多流融合和多尺度学习的卷积神经网络遥感图像融合方法.docx
江苏专转本高数 同方内部讲义
专为转本学生 各章非常详尽 请大家互相传阅
利用Matlab实现基于小波变换的遥感图像融合
学术论文 利用Matlab实现基于小波变换的遥感图像融合
《高等数学A》课堂笔记——
高
分
必过.pdf
一、函数与极限 1.1 映射与函数 1.2 数列的极限 1.3 函数的极限 1.4 无穷小与无穷大 1.5 极限运算法则 1.6 极限存在准则及两个重要极限 1.7 无穷小的比较 1.8 函数的连续性与间断性
问题
二、导数与微
分
2.1 导数概念 2.2 求导法则 2.3 高阶导数 2.4 函数微
分
2.5 隐函数及参数 三、微
分
中值定理与导数的应用 3.1 中值定理 3.2 L'Hospital法则 3.3 函数单调性与凸凹性 3.4 函数的极值与最值 3.5 函数图形的描绘方法 3.6 曲率 四、不定积
分
4.1 不定积
分
概念与性质 4.2 换元积
分
法 4.3 不定积
分
的
分
部积
分
法 ...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章