Java 代码实现 从后往前找到最后一个汉字的位置,并从这个位置分割成两个字符串
时间: 2024-05-04 19:21:11 浏览: 41
可以使用正则表达式来匹配最后一个汉字的位置,然后使用字符串的 `substring` 方法进行分割。以下是示例代码:
```java
public class Main {
public static void main(String[] args) {
String str = "Hello World 你好世界";
int lastChineseCharIndex = str.lastIndexOf("[\\u4e00-\\u9fa5]");
if (lastChineseCharIndex >= 0) {
String before = str.substring(0, lastChineseCharIndex + 1);
String after = str.substring(lastChineseCharIndex + 1);
System.out.println(before);
System.out.println(after);
} else {
System.out.println("未找到汉字");
}
}
}
```
输出结果为:
```
Hello World 你好
世界
```
相关问题
用Java基本知识实现以下代码:设计英文单词类;设计英文词典类,它具有一个英文单词词组,一个将单个英文单词翻译为中文的方法;一段英文可以用String表示,用String的split方法将字符串分割为字符串数组
在Java中,我们可以创建两个类来实现这个功能:`EnglishWord` 和 `Dictionary`。
首先,我们定义一个简单的`EnglishWord` 类,用于存储英文单词和其对应的中文翻译:
```java
public class EnglishWord {
private String word;
private String translation;
public EnglishWord(String word, String translation) {
this.word = word;
this.translation = translation;
}
// 获取方法
public String getWord() { return word; }
public String getTranslation() { return translation; }
// 设置方法
public void setTranslation(String translation) { this.translation = translation; }
}
```
然后,我们创建`Dictionary` 类,包含一个英文单词的列表,并提供翻译单个单词的功能:
```java
import java.util.ArrayList;
import java.util.List;
public class Dictionary {
private List<EnglishWord> words;
public Dictionary() {
this.words = new ArrayList<>();
}
// 添加单词到词典
public void addWord(EnglishWord word) {
words.add(word);
}
// 翻译单个单词
public String translateWord(String wordToTranslate) {
for (EnglishWord existingWord : words) {
if (existingWord.getWord().equals(wordToTranslate)) {
return existingWord.getTranslation();
}
}
throw new IllegalArgumentException("Word not found in dictionary.");
}
}
// 示例:如何使用
public static void main(String[] args) {
Dictionary dict = new Dictionary();
dict.addWord(new EnglishWord("Hello", "你好"));
dict.addWord(new EnglishWord("World", "世界"));
String sentence = "Hello World";
String[] parts = sentence.split(" "); // 使用split方法分割句子
for (String part : parts) {
System.out.println(part + ": " + dict.translateWord(part));
}
}
```
在这个例子中,`Dictionary` 类通过`addWord` 方法添加单词,`translateWord` 方法查找并返回对应单词的中文翻译。`main` 函数展示了如何用给定的字符串`sentence` 和 `split` 方法分词并翻译每个单词。
一个N长的字符串,字符串中包括汉字,数字,字母,字符,以句号结尾算一个句子,找出找个字符串中包含java字样的句子
好的,针对您的问题,我们可以编写一个简单的Python程序来实现。代码如下:
```python
import re
def find_java_sentences(text):
# 将文本按照句号分割成句子列表
sentences = re.split('[。!?]', text)
# 遍历句子列表,找出包含"java"字样的句子
result = []
for sentence in sentences:
if re.search(r'\bjava\b', sentence.lower()):
result.append(sentence)
return result
```
该函数接受一个字符串参数`text`,将该字符串按照句号分割成句子列表,然后遍历句子列表,使用正则表达式`\bjava\b`来判断该句子中是否包含"java"字样。如果包含,则将该句子添加到结果列表中。
您可以将您的文本作为该函数的参数进行测试,如下所示:
```python
text = '这是一段包含java字样的文本。这是另一个Java文章。这是另外一个句子。'
result = find_java_sentences(text)
print(result)
```
该程序的输出结果应该为`['这是一段包含java字样的文本', '这是另一个Java文章']`,这两个句子中都包含了"java"字样。
阅读全文