//keyIn是一个BufferedReader,已初始化。
//不断读取键盘输入
String line = null;
while((line = keyIn.readLine()) != null)
{
//如果发送的信息中有冒号,且以/开头,则认为想发送私聊信息
if(line.indexOf(":") > 0 && line.startsWith("/"))
{
line = line.substring(1);
ps.println(CrazyitProtocol.PRIVATE_ROUND +
line.split(":")[0] + CrazyitProtocol.SPLIT_SIGN
+ line.split(":")[1]+CrazyitProtocol.PRIVATE_ROUND);
java相关的问题。以下的两个split——[0]与[1]好像得到的是同一行“:”后的字符串吧?怎么解释?
答案:2 悬赏:30 手机版
解决时间 2021-02-21 08:38
- 提问者网友:临风不自傲
- 2021-02-20 17:43
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-02-20 19:08
key:value像这种格式存储内容
当你需要其中的某项时,就可以这样读取str.split(":")[0]得到的是key str.split(":")[1]得到的是value 这样直接可以读取某一个你需要的值, 因为String[] s = str.split(":");得到的是数组,然后你还得循环数组,有点麻烦。所以一般还是用上面的方法读取值比较方便。
当你需要其中的某项时,就可以这样读取str.split(":")[0]得到的是key str.split(":")[1]得到的是value 这样直接可以读取某一个你需要的值, 因为String[] s = str.split(":");得到的是数组,然后你还得循环数组,有点麻烦。所以一般还是用上面的方法读取值比较方便。
全部回答
- 1楼网友:举杯邀酒敬孤独
- 2021-02-20 19:48
试试这样子来写呢,可以让那些标注的|不被划掉
a.split("(?<!\\\\)\\|");
//----------------
两个麻烦的地方,第一个是\\\\这种蛋疼的从text内容-》java字符串-》java正则的两次转义;另外一个就是|要去掉,但前面必须用反相零宽断言指出位置但是不把\\\\算进来。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯