我有一个代码,
import java.util.*;
import java.util.Scanner;
import java.util.StringTokenizer;
class CountWords{
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.print("Enter string: ");
String st=input.nextLine();
int count=0;
StringTokenizer stk=new StringTokenizer(st," ");
while(stk.hasMoreTokens()){
String token=stk.nextToken();
count++;
}
System.out.println("Number of words are: "+count);
}
}
我有一个要求输入为字符串之类的 “这是!@ *文本做()女士#$分为到字。”
Number of words are: 10
和
我必须算不上。字符串的单词通过忽略字符串的特殊字符并存储到表列中,并将单词的反向存储在另一个表列中(忽略字符串中的特殊字符)
sno words reverse
---- ------ --------
1 This sihT
2 Is sI
3 the eht
4 text text
所以....... 如果字符串中有回文,那么将这些单词保存在单独的表中,如
word palindrome
---- ---------
did did
madam madam
提前致谢
答案 0 :(得分:0)
处理凌乱的HTML很麻烦。使用HTML清理实用程序(例如HtmlCleaner)为您完成工作。
答案 1 :(得分:0)
public static void main(String[] args) {
String str = "This is the!@* text to be in words.";
str = str.replaceAll("[^a-zA-Z0-9 ]+", "");
System.out.println(str);
int len = str.split("\\s+").length;
System.out.println(len);
}
我假设特殊字符不是字母和数字。
输出:
This is the text to be in words
8