确保字符串的第一个字符在 QB64 中是大写的

Posted

技术标签:

【中文标题】确保字符串的第一个字符在 QB64 中是大写的【英文标题】:Ensure first character of strings is uppercase in QB64 【发布时间】:2020-04-01 03:09:01 【问题描述】:

有没有办法确保FirstNameLastName 中的第一个字符仅是大写字母?

DIM FirstName AS STRING
DIM LastName AS STRING

CLS

INPUT "Enter First Name: ", FirstName
INPUT "Enter Last Name: ", LastName

【问题讨论】:

【参考方案1】:

您可以串联使用字符串函数LEFT$UCASE$

first$ = LEFT$(FirstName, 1)
last$ = LEFT$(LastName, 1)
IF first$ <> UCASE$(first$) OR last$ <> UCASE$(last$) THEN
    PRINT "error: first letter of names must be capitalized"
    END
END IF

如果您不希望程序退出,您可以使用MID$ 语句自行将其更改为大写:

first$ = LEFT$(FirstName, 1)
last$ = LEFT$(LastName, 1)
MID$(FirstName, 1, 1) = UCASE$(first$)
MID$(LastName, 1, 1) = UCASE$(last$)

有关字符串操作和转换的更多信息以及其他信息,see the QB64 wiki。

【讨论】:

我怀疑在第二段 cide 中使用了ELSEIF。我认为代码需要两个IF 。另一方面,代码可能总是使用两个mid$ 而没有IF...如果第一个字符已经是大写,则不会更改任何内容... @SirJoBlack 修复了ELSEIF 错误。关于 IF 声明是不必要的,您是绝对正确的。谢谢:)【参考方案2】:

签出this:

A$ = LEFT$(FirstName$, 1) // get first character
B = ASC(A$) //change it to ascii
IF B >= 65 AND B <= 90 THEN //is it uppercase?
CK$ = "FIRST CHARACTER IS UPPERCASE"
END IF
PRINT CK$

【讨论】:

您不需要将其更改为 ASCII。 IF A$ &gt;= "A" AND A$ &lt;= "Z" 工作得很好。

以上是关于确保字符串的第一个字符在 QB64 中是大写的的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中将字符串的每个单词的第一个字符大写? [复制]

如何在飞镖中将字符串的第一个字母大写?

如何将字符串的第一个字母大写

在Java中,如何在没有正则表达式的情况下查找字符串中的第一个字符是不是为大写

为啥在 Rust 中将字符串的第一个字母大写如此复杂?

Java如何将每个单词的第一个字符转为大写