分类 JavaScript/Node.js 下的文章

‍HarmonyOS的应用开发体验让我感觉非常糟糕,因为仅仅是为了你能够调试你的应用,你得去做一大堆事,甚至现在除了受邀请的开发者,其他个人开发者都无法进行任何发布应用的相关操作。你可能要和我一样面临写了个Hell world却卡死在生成有效的应用上。
我不明白为什么我私下调试鸿蒙应用还要向华为申请一大堆东西。[无语]

详情参考:
手动方式调试HarmonyOS应用
我现在对鸿蒙的态度发生了巨大转变,如果你想和和美美的开发一个鸿蒙应用,那对不起建议你早日打消这个想法。恐怕写一个Android应用去调试比这个简单多了。

感谢那几位大佬指点,给他们发红包感谢了。(其实就几毛钱,但是我QQ也就剩下这么多...... )

方法1

str = '[CQ:at,qq=1052757154,text=@筱可儿]';
qq = str.match(/qq=(\d+)/);
console.log(qq)

输出:

[
  'qq=1052757154',
  '1052757154',
  index: 7,
  input: '[CQ:at,qq=1052757154,text=@筱可儿]',
  groups: undefined
]

QQUID=qq[1]

方法2

str = '[CQ:at,qq=1052757154,text=@筱可儿]';
qq=str.match(/(?<=qq=)\d+|(?<=text=@).+(?=\])|(?<=\]).*/g);
console.log(qq)

输出:

[ '1052757154', '筱可儿', '' ]

QQUID=qq[0],nickname=qq[1]

为什么用到这个?因为我想要得到形如text 123456这串文字中的123456部分,延伸一下用途,这可以用来处理qbot接收到的指定格式命令的消息,得到命令标识后的命令部分。

split()

split()把一个字符串分割成字符串数组:
标准语法:string.split(separator,limit)

  • separator:可选。 字符串或正则表达式,从该参数指定的地方分割 string Object。
  • limit:可选。 该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

示例

var message = "xiao 12345"
var array = message.split(" ") //此处使用一个空格作为分隔符即“separato”,如果使用空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
console.log(array)    //直接输出数组array
console.log(array[0]) //输出数组array的第一个元素
console.log(array[1]) //输出数组array的第二个元素

-----------------输出结果--------------------
[ 'xiao', '12345' ]
xiao
12345

如果你在visual sutdio code中执行出现报错(没有可用的调试程序,无法发送“variables”),可以安装Code Runner 使用组合键Ctrl Alt N直接运行,也可以在launch.json文件内program下面加一行"console": "integratedTerminal" ,此语句设置 启动调试目标的位置为integratedTerminal即 VS Code 的集成终端。

感谢ACGP社团社长MartinKay提供方案指导。

部分内容使用了https://www.runoob.com/jsref/jsref-split.html 提供的资料