获取Qstring的前两个字符
时间: 2023-04-12 15:01:30 浏览: 234
可以使用QString的left函数来获取前两个字符,代码如下:
QString str = "Hello World";
QString firstTwoChars = str.left(2); // 返回 "He"
相关问题
获取一个qstring前两个字符然后判断是否为汉字数字或英文,如果不是就去掉不是汉字数字或英文的字符
可以使用`QString`的`mid()`方法获取前两个字符,然后判断是否为汉字、数字或英文,如果不是,则使用`QRegularExpression`去掉不合法的字符。示例代码如下:
```c++
QString str = "1@#23中国";
QString firstTwoChars = str.left(2); // 获取前两个字符
QChar firstChar = firstTwoChars[0];
QChar secondChar = firstTwoChars[1];
if (firstChar.category() != QChar::Letter_Uppercase && firstChar.category() != QChar::Letter_Lowercase &&
firstChar.category() != QChar::Number_DecimalDigit && firstChar.category() != QChar::Number_Other) {
str = str.mid(1); // 去掉第一个不合法的字符
}
if (secondChar.category() != QChar::Letter_Uppercase && secondChar.category() != QChar::Letter_Lowercase &&
secondChar.category() != QChar::Number_DecimalDigit && secondChar.category() != QChar::Number_Other) {
str = str.left(1) + str.mid(2); // 去掉第二个不合法的字符
}
QRegularExpression reg("[^a-zA-Z0-9\u4e00-\u9fa5]+"); // 匹配非汉字数字英文的字符
str = str.replace(reg, ""); // 去掉非汉字数字英文的字符
```
这样,`str`就会被去掉所有非汉字数字英文的字符,并且确保前两个字符以汉字数字英文开头。如果前两个字符中有不合法的字符,就会依次去掉。
QString获取第一个字符
要获取QString中的第一个字符,可以使用QString的at()函数或[]运算符。
使用at()函数:
```cpp
QString str = "Hello World";
QChar firstChar = str.at(0);
```
使用[]运算符:
```cpp
QString str = "Hello World";
QChar firstChar = str[0];
```
两种方法都会返回QString中的第一个字符,即'H'。
阅读全文