字符串切割
来源:互联网 发布:servlet获取表单数据 编辑:程序博客网 时间:2024/04/28 06:07
/**
* 分割行
*
* @param src,width,height
* @date
* @return static String[]
* @autor
*/
public static String[] split(String src, int width, int height)
{
Vector vector = new Vector(20);
String buffer = "";
int bufferWidth = 0;
int maxBufferWidth = 0;
for (int i = 0; i < src.length(); i++)
{
// 如果遇到换行时
if (src.charAt(i) == ' ')
{
vector.addElement(buffer);
maxBufferWidth = Math.max(maxBufferWidth, bufferWidth);
buffer = "";
}
else
{
buffer += src.charAt(i);
// 计算buffer的宽度
bufferWidth = Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_PLAIN, Font.SIZE_SMALL).stringWidth(buffer);
// 如果buffer的宽度大于显示区域的宽
if (bufferWidth > width)
{
vector.addElement(buffer.substring(0, buffer.length() - 1));
bufferWidth = Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_PLAIN, Font.SIZE_SMALL).stringWidth(
buffer.substring(0, buffer.length() - 1));
maxBufferWidth = Math.max(maxBufferWidth, bufferWidth);
buffer = "";
i--;
}
else if (i == src.length() - 1)
{
vector.addElement(buffer);
maxBufferWidth = Math.max(maxBufferWidth, bufferWidth);
}
}
}
// 获取数量
String[] text = new String[vector.size()];
// 将数组循环赋值
for (int i = 0; i < vector.size(); i++)
{
text[i] = (String) vector.elementAt(i);
}
return text;
}
* 分割行
*
* @param src,width,height
* @date
* @return static String[]
* @autor
*/
public static String[] split(String src, int width, int height)
{
Vector vector = new Vector(20);
String buffer = "";
int bufferWidth = 0;
int maxBufferWidth = 0;
for (int i = 0; i < src.length(); i++)
{
// 如果遇到换行时
if (src.charAt(i) == ' ')
{
vector.addElement(buffer);
maxBufferWidth = Math.max(maxBufferWidth, bufferWidth);
buffer = "";
}
else
{
buffer += src.charAt(i);
// 计算buffer的宽度
bufferWidth = Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_PLAIN, Font.SIZE_SMALL).stringWidth(buffer);
// 如果buffer的宽度大于显示区域的宽
if (bufferWidth > width)
{
vector.addElement(buffer.substring(0, buffer.length() - 1));
bufferWidth = Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_PLAIN, Font.SIZE_SMALL).stringWidth(
buffer.substring(0, buffer.length() - 1));
maxBufferWidth = Math.max(maxBufferWidth, bufferWidth);
buffer = "";
i--;
}
else if (i == src.length() - 1)
{
vector.addElement(buffer);
maxBufferWidth = Math.max(maxBufferWidth, bufferWidth);
}
}
}
// 获取数量
String[] text = new String[vector.size()];
// 将数组循环赋值
for (int i = 0; i < vector.size(); i++)
{
text[i] = (String) vector.elementAt(i);
}
return text;
}
- 字符串切割
- 字符串切割
- 切割字符串
- 字符串切割
- 切割字符串
- 切割字符串
- //切割字符串
- 字符串切割
- 字符串切割
- 切割字符串
- 字符串切割Split()
- c#切割字符串
- ${}el表达式切割字符串
- J2ME 字符串切割
- CString 字符串切割
- Bash Shell 字符串切割
- Bash Shell 字符串切割
- 字符串切割之strtok
- 在一个开源项目的开发中遇到的问题
- C# split 使用方法
- Function ALV 简单实现HTML抬头的方法 网上转载的稍微加了一点修改内容
- EasyDBO-0.6.0中事务处理中的严重Bug
- EasyJF招聘专职工作员
- 字符串切割
- EasyJF团队筹备小组第一次会议情况通告
- 常用的107条Javascript
- 《Linux 操作系统结构分析》《Linux操作系统原理与应用》对比
- “中文问题没商量”之Spring2.0项目中的Bug一例
- “中文问题没商量”之Dom4j中的编码问题
- 同步、异步、阻塞和非阻塞的概念
- NOKIA 的手机编号
- “中文问题没商量”之Ant中的中文问题