「java去除表情」JAVA 表情包
今天给各位分享java去除表情的知识,其中也会对JAVA 表情包进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java字符串如何替换表情字符
- 2、Java关于聊天表情的问题
- 3、jsp论坛中发贴时帖子中带有表情时表情处理问题(java处理)
- 4、java如何处理emoji表情,并存入数据库
- 5、java替换表情符号 求正则表达式替换
java字符串如何替换表情字符
String a = str.replaceAll(":0:", "img src='/img/0.jpg'/");
String b = a.replaceAll(":1:", "img src='/img/1.jpg'/");
String c = b.replaceAll(":2:", "img src='/img/2.jpg'/");
str = c;
或者
str = str.replaceAll(":0:", "img src='/img/0.jpg'/").replaceAll(":1:", "img src='/img/1.jpg'/").replaceAll(":2:", "img src='/img/2.jpg'/");
Java关于聊天表情的问题
在另一个里给你回答了。光标的问题
-----------------------------------------------------------------------------------
jfp.insertIcon(icon);
插图时,你的光标在那里,就从那里开始插图。
可以用setCaretPosition(int ) 方法来控制光标的位置。
下边是我的测试代码。
----------------------------------------------------------------------------------------------------------
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class TestApp extends JFrame implements ActionListener {
JTextPane textPane = null;
public TestApp() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400, 300);
setResizable(false);
getContentPane().setLayout(null);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(this);
btnNewButton.setBounds(12, 10, 91, 21);
getContentPane().add(btnNewButton);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(12, 41, 370, 221);
getContentPane().add(scrollPane);
textPane = new JTextPane();
textPane.setText("f16/df16/asdf;16/");
scrollPane.setViewportView(textPane);
setVisible(true);
}
public static void main(String[] args) {
new TestApp();
}
public void actionPerformed(ActionEvent e) {
// textPane.setCaretPosition(textPane.getText().length());
// ImageIcon icon = new ImageIcon("D:\\1.jpg");
// textPane.insertIcon(icon);
explainPicInfo(new StringBuffer(textPane.getText()), textPane);
}
private void explainPicInfo(StringBuffer message, JTextPane jfp) {
// 解码
int start = 0;
int end = 0;
String strmessage = message.toString();
System.out.print("*****" + strmessage);
int pos = 0;
for (int i = 0; i strmessage.length(); i++) {
if (strmessage.charAt(i) == '') {
start = i;
} else if (strmessage.charAt(i) == '/') {
end = i;
// String num = strmessage.substring(start + 1, end);
// System.out.print("*****" + num);
// int suquence = Integer.parseInt(num);
// System.out.println(suquence);
// URL imgUrl = this.getClass().getResource(
// "/biaoqing/" + suquence + ".jpg");
// System.out.println("/biaoqing/" + suquence + ".jpg");
ImageIcon icon = new ImageIcon("D:\\cover.jpg");
jfp.setCaretPosition(start + pos);
System.out.println("((((" + start + pos);
System.out.println(")))" + pos);
// pos为从文本区获得已有文本的长度
// jfp为要放表情的JTestPane
// deleteSubString(message, start, end);
// message = message.delete(start, end);
jfp.insertIcon(icon);
pos++;
System.out.println("success to insert");
}
}
}
}
去掉16/文字的代码.
---------------------------------------------------------------------------------------------
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class TestApp extends JFrame implements ActionListener {
JTextPane textPane = null;
public TestApp() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(400, 300);
setResizable(false);
getContentPane().setLayout(null);
JButton btnNewButton = new JButton("New button");
btnNewButton.addActionListener(this);
btnNewButton.setBounds(12, 10, 91, 21);
getContentPane().add(btnNewButton);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(12, 41, 370, 221);
getContentPane().add(scrollPane);
textPane = new JTextPane();
textPane.setText("f16/df16/asdf;16/asdf;16/asdf;16/");
scrollPane.setViewportView(textPane);
setVisible(true);
}
public static void main(String[] args) {
new TestApp();
}
public void actionPerformed(ActionEvent e) {
explainPicInfo(new StringBuffer(textPane.getText()), textPane);
}
private void explainPicInfo(StringBuffer message, JTextPane jfp) {
// 解码
jfp.setText("");
int start = 0;
int end = 0;
int length = 0;
int len = 1;
String strmessage = message.toString();
ListInteger indexs = new ArrayListInteger();
int mesgStart = 0;
for (int i = 0; i strmessage.length(); i++) {
if (strmessage.charAt(i) == '') {
start = i;
} else if (strmessage.charAt(i) == '/') {
end = i;
indexs.add(start - length);
String mesg = message.substring(mesgStart, start);
jfp.setText(jfp.getText() + mesg);
mesgStart = end + 1;
length = (end - start + 1) * (len++);
}
}
for (int i = 0; i indexs.size(); i++) {
int pos = indexs.get(i) + i;
if (pos jfp.getText().length()) {
pos = jfp.getText().length();
}
jfp.setCaretPosition(pos);
ImageIcon icon = new ImageIcon("D:\\cover.jpg");
jfp.insertIcon(icon);
}
}
}
jsp论坛中发贴时帖子中带有表情时表情处理问题(java处理)
统一把表情放在一个地方,然后建立对应的命名映射表就好了,比如key是"{:2_26:}",对应的value是“weixiao.png”,这样的话,用户成功发送以后,自动加上图片的路径,这样表情就出来了。选择也一样,当用户选择a href="../weixiao.png" onclick="chose('weixiao')"/a这张表情时,再通过chose()方法来处理你要显示什么样的字符等等
java如何处理emoji表情,并存入数据库
这个很简单呀 你把数据库或者对应表/字段的编码格式从utf8改成utf8mb4就可以存储emoji表情了,utf8对应的字节数不够所以会报错,mysql8默认的就是utf8mb4,可以了解下
java替换表情符号 求正则表达式替换
查找正则表达式
\[(微笑|撇嘴|色|发呆)\]
替换为
img src='.../imag/$1.png'/
Pattern.compile("\\[(微笑|撇嘴|色|发呆)\\]").matcher(text).replaceAll("img src='.../imag/$1.png'/")
注意replaceAll中 不知道有没有字符是 Java中需要转义的字符,如果有加上转义。
关于java去除表情和JAVA 表情包的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。