编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
package myjava;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
public class SplitString {
public static void main(String[] args) {
while (true) {
BufferedReader sr = new BufferedReader(new InputStreamReader(System.in));
String str = null;
try {
str = sr.readLine(); //读取输入的字符串,输入以空格分隔的字串和截取的字节数
String[] strobject = str.split(" ");
int number = Integer.parseInt(strobject[1]);
str = strobject[0];
byte[] buf = str.getBytes();
if (buf[number - 1] < 0) { //判断最后一个字节是否是汉字的首字节
number++;
}
String newstr = new String(buf, 0, number);
System.out.println(newstr);
} catch (IOException ex) {
Logger.getLogger(SplitString.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
分享到:
相关推荐
面试题 1 的截取字符串函数是一个典型的例子,要求面试者编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。这个问题的关键是考虑中文字符和英文字符的占用字节数问题,中文字符占两...
* SUBSTR函数:用于截取字符串的指定部分。 * LENGTH函数:用于获取字符串的长度。 3. 存储过程和函数 * 创建存储函数:CREATE OR REPLACE FUNCTION语句用于创建一个新的存储函数。 * 函数参数:在函数中可以定义...
面试题1要求编写一个函数,用于截取字符串。该函数接收两个参数:一个是待截取的字符串,另一个是指定的字节数。函数的目标是在不超过指定字节数的前提下,尽可能完整地保留整个字符,尤其是避免截取半个汉字的情况...
#### 面试题1:如何截取字符串 **考题背景与目的** 在Java编程面试中,基础编程技能的考察尤为关键,特别是对字符串处理能力的要求非常高。这是因为字符串在实际应用中极为常见,而如何高效地处理字符串则是程序员...
13. **截取字符串**: 要确保汉字不被截断,需要检查字符边界,确保在字节截取时不跨越多字节字符。 14. **打印昨天的当前时刻**: 使用`java.util.Calendar`或`java.time`包中的类可以获取昨天的日期并格式化为...
在Java中,substring()和split()方法常用于截取字符串。substring()用于截取子字符串,而split()则是通过正则表达式分割字符串。 11. XML格式和解析技术: XML(可扩展标记语言)的格式包括DTD和Schema两种形式,...
- 使用`strrev()`函数可以实现字符串的翻转。 13. **优化访问量方法** - 使用负载均衡,缓存技术,数据库优化,CDN内容分发网络等。 14. **获取IP地址** - `$_SERVER['REMOTE_ADDR']`获取客户端IP,`$_SERVER['...
- 字符串操作:连接、查找、替换、截取、大小写转换。 - 正则表达式:用于模式匹配和数据提取。 6. **文件与目录操作**: - 文件读写:fopen、fread、fwrite、fclose。 - 目录操作:mkdir、rmdir、opendir、...
它首先检查输入是否为空,然后使用`substr`函数截取字符串中的每个路径片段。如果遇到`".."`,则使用`pop_back`从`vec_str`中移除最后一个元素。最后,通过遍历`vec_str`并拼接元素,得到绝对路径,并将结果复制到`...
- 字符串截取需要考虑到中文字符的编码问题。 - 为了保证不截断中文字符,可以逐个字节检查并确保每次截取都是完整的字符。 - 实现时可以考虑使用`String.getBytes()`获取字节序列,并使用循环逐字节检查。 ####...
中软笔试题(答案仅做参考)是中软公司面试题目汇总,涵盖了 Java 编程、多线程、字符串截取、unix/linux 命令、数据库知识等多个方面的知识点。下面对每个知识点进行详细的解释和分析: 1. 采用单例模式,把文件 ...
3、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,但要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,而不是“我ABC+汉...
PHP中,单引号和双引号所包围的字符串有什么区别? - **单引号**:不会解析变量,速度快。 - **双引号**:会解析变量,可能会稍慢一些。 #### 12. mysql_connect()与@mysql_connect()的区别是: - **@mysql_connect...
- `echo`用于输出一个或多个字符串。 - `print`功能与`echo`相同,但返回值总是1,通常用于条件判断。 - `print_r()`用于打印数组或其他复杂数据类型的内部结构。 3. **模板分离** 指的是将HTML和PHP逻辑分离...
字符串截取在Java中主要通过`substring()`方法实现。这个方法允许我们指定起始和结束位置,返回一个新的字符串。在处理中文字符串时,特别需要注意的是,由于中文字符通常占两个字节,因此截取时不能按照单个字节...
5. 字符串操作:Python 的字符串可以使用 slice 操作符来截取子串,例如 `name[2:-1]` 将截取字符串 `name` 从第三个字符到倒数第二个字符。 6. 元组定义:Python 的元组可以使用小括号定义,例如 `(1)` 或 `(1, 2,...
14. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要正确处理汉字等多字节字符,可以使用String类的getBytes方法配合指定的字符编码,例如UTF-8或GBK来处理字符串的字节表示。 ...
7. 截取字符串:要获取`str`中的`hts`,可以使用`substring(5)`或`substr(5)`,因为`substring()`不接受第二个参数表示截取长度,所以`substr(4, 7)`和`Str.substring(4, 6)`是错误的。 8. `JavaScript`中的`call`...
5. **字符串处理**:String类在Java中非常常用,试题可能会测试字符串的创建、比较、截取、替换、拼接等操作。 6. **数组与泛型**:数组是存储同类型数据的基本结构,泛型则为集合提供了类型安全的保证。试题可能...